// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "context"

// WorkbookRangeClearRequestParameter undocumented
type WorkbookRangeClearRequestParameter struct {
	// ApplyTo undocumented
	ApplyTo *string `json:"applyTo,omitempty"`
}

// WorkbookRangeDeleteRequestParameter undocumented
type WorkbookRangeDeleteRequestParameter struct {
	// Shift undocumented
	Shift *string `json:"shift,omitempty"`
}

// WorkbookRangeInsertRequestParameter undocumented
type WorkbookRangeInsertRequestParameter struct {
	// Shift undocumented
	Shift *string `json:"shift,omitempty"`
}

// WorkbookRangeMergeRequestParameter undocumented
type WorkbookRangeMergeRequestParameter struct {
	// Across undocumented
	Across *bool `json:"across,omitempty"`
}

// WorkbookRangeUnmergeRequestParameter undocumented
type WorkbookRangeUnmergeRequestParameter struct {
}

//
type WorkbookRangeClearRequestBuilder struct{ BaseRequestBuilder }

// Clear action undocumented
func (b *WorkbookRangeRequestBuilder) Clear(reqObj *WorkbookRangeClearRequestParameter) *WorkbookRangeClearRequestBuilder {
	bb := &WorkbookRangeClearRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/clear"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookRangeClearRequest struct{ BaseRequest }

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

//
func (r *WorkbookRangeClearRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type WorkbookRangeDeleteRequestBuilder struct{ BaseRequestBuilder }

// Delete action undocumented
func (b *WorkbookRangeRequestBuilder) Delete(reqObj *WorkbookRangeDeleteRequestParameter) *WorkbookRangeDeleteRequestBuilder {
	bb := &WorkbookRangeDeleteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/delete"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookRangeDeleteRequest struct{ BaseRequest }

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

//
func (r *WorkbookRangeDeleteRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type WorkbookRangeInsertRequestBuilder struct{ BaseRequestBuilder }

// Insert action undocumented
func (b *WorkbookRangeRequestBuilder) Insert(reqObj *WorkbookRangeInsertRequestParameter) *WorkbookRangeInsertRequestBuilder {
	bb := &WorkbookRangeInsertRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/insert"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookRangeInsertRequest struct{ BaseRequest }

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

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

//
type WorkbookRangeMergeRequestBuilder struct{ BaseRequestBuilder }

// Merge action undocumented
func (b *WorkbookRangeRequestBuilder) Merge(reqObj *WorkbookRangeMergeRequestParameter) *WorkbookRangeMergeRequestBuilder {
	bb := &WorkbookRangeMergeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/merge"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookRangeMergeRequest struct{ BaseRequest }

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

//
func (r *WorkbookRangeMergeRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type WorkbookRangeUnmergeRequestBuilder struct{ BaseRequestBuilder }

// Unmerge action undocumented
func (b *WorkbookRangeRequestBuilder) Unmerge(reqObj *WorkbookRangeUnmergeRequestParameter) *WorkbookRangeUnmergeRequestBuilder {
	bb := &WorkbookRangeUnmergeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/unmerge"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type WorkbookRangeUnmergeRequest struct{ BaseRequest }

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

//
func (r *WorkbookRangeUnmergeRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}