// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "context"

//
type WorkbookFunctionsAverageRequestBuilder struct{ BaseRequestBuilder }

// Average action undocumented
func (b *WorkbookFunctionsRequestBuilder) Average(reqObj *WorkbookFunctionsAverageRequestParameter) *WorkbookFunctionsAverageRequestBuilder {
	bb := &WorkbookFunctionsAverageRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/average"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookFunctionsAverageRequest struct{ BaseRequest }

//
func (b *WorkbookFunctionsAverageRequestBuilder) Request() *WorkbookFunctionsAverageRequest {
	return &WorkbookFunctionsAverageRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *WorkbookFunctionsAverageRequest) Post(ctx context.Context) (resObj *WorkbookFunctionResult, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}

//
type WorkbookFunctionsAverageARequestBuilder struct{ BaseRequestBuilder }

// AverageA action undocumented
func (b *WorkbookFunctionsRequestBuilder) AverageA(reqObj *WorkbookFunctionsAverageARequestParameter) *WorkbookFunctionsAverageARequestBuilder {
	bb := &WorkbookFunctionsAverageARequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/averageA"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookFunctionsAverageARequest struct{ BaseRequest }

//
func (b *WorkbookFunctionsAverageARequestBuilder) Request() *WorkbookFunctionsAverageARequest {
	return &WorkbookFunctionsAverageARequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *WorkbookFunctionsAverageARequest) Post(ctx context.Context) (resObj *WorkbookFunctionResult, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}

//
type WorkbookFunctionsAverageIfRequestBuilder struct{ BaseRequestBuilder }

// AverageIf action undocumented
func (b *WorkbookFunctionsRequestBuilder) AverageIf(reqObj *WorkbookFunctionsAverageIfRequestParameter) *WorkbookFunctionsAverageIfRequestBuilder {
	bb := &WorkbookFunctionsAverageIfRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/averageIf"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookFunctionsAverageIfRequest struct{ BaseRequest }

//
func (b *WorkbookFunctionsAverageIfRequestBuilder) Request() *WorkbookFunctionsAverageIfRequest {
	return &WorkbookFunctionsAverageIfRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *WorkbookFunctionsAverageIfRequest) Post(ctx context.Context) (resObj *WorkbookFunctionResult, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}

//
type WorkbookFunctionsAverageIfsRequestBuilder struct{ BaseRequestBuilder }

// AverageIfs action undocumented
func (b *WorkbookFunctionsRequestBuilder) AverageIfs(reqObj *WorkbookFunctionsAverageIfsRequestParameter) *WorkbookFunctionsAverageIfsRequestBuilder {
	bb := &WorkbookFunctionsAverageIfsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/averageIfs"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookFunctionsAverageIfsRequest struct{ BaseRequest }

//
func (b *WorkbookFunctionsAverageIfsRequestBuilder) Request() *WorkbookFunctionsAverageIfsRequest {
	return &WorkbookFunctionsAverageIfsRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *WorkbookFunctionsAverageIfsRequest) Post(ctx context.Context) (resObj *WorkbookFunctionResult, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}