import { type AccessReviewStage } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type DecisionsRequestBuilder } from './decisions/index.js';
import { type StopRequestBuilder } from './stop/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the stages property of the microsoft.graph.accessReviewInstance entity.
 */
export interface AccessReviewStageItemRequestBuilder extends BaseRequestBuilder<AccessReviewStageItemRequestBuilder> {
    /**
     * Provides operations to manage the decisions property of the microsoft.graph.accessReviewStage entity.
     */
    get decisions(): DecisionsRequestBuilder;
    /**
     * Provides operations to call the stop method.
     */
    get stop(): StopRequestBuilder;
    /**
     * Delete navigation property stages for users
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    delete(requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * If the instance has multiple stages, this returns the collection of stages. A new stage will only be created when the previous stage ends. The existence, number, and settings of stages on a review instance are created based on the accessReviewStageSettings on the parent accessReviewScheduleDefinition.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<AccessReviewStage>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<AccessReviewStageItemRequestBuilderGetQueryParameters> | undefined): Promise<AccessReviewStage | undefined>;
    /**
     * Update the navigation property stages in users
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<AccessReviewStage>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: AccessReviewStage, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<AccessReviewStage | undefined>;
    /**
     * Delete navigation property stages for users
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * If the instance has multiple stages, this returns the collection of stages. A new stage will only be created when the previous stage ends. The existence, number, and settings of stages on a review instance are created based on the accessReviewStageSettings on the parent accessReviewScheduleDefinition.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<AccessReviewStageItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property stages in users
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: AccessReviewStage, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * If the instance has multiple stages, this returns the collection of stages. A new stage will only be created when the previous stage ends. The existence, number, and settings of stages on a review instance are created based on the accessReviewStageSettings on the parent accessReviewScheduleDefinition.
 */
export interface AccessReviewStageItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const AccessReviewStageItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/pendingAccessReviewInstances/{accessReviewInstance%2Did}/decisions/{accessReviewInstanceDecisionItem%2Did}/instance/stages/{accessReviewStage%2Did}{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const AccessReviewStageItemRequestBuilderNavigationMetadata: Record<Exclude<keyof AccessReviewStageItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const AccessReviewStageItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map