import { type MailFolder } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type CopyRequestBuilder } from './copy/index.js';
import { type MessageRulesRequestBuilder } from './messageRules/index.js';
import { type MessagesRequestBuilder } from './messages/index.js';
import { type MoveRequestBuilder } from './move/index.js';
import { type OperationsRequestBuilder } from './operations/index.js';
import { type PermanentDeleteRequestBuilder } from './permanentDelete/index.js';
import { type UpdateAllMessagesReadStateRequestBuilder } from './updateAllMessagesReadState/index.js';
import { type UserConfigurationsRequestBuilder } from './userConfigurations/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the childFolders property of the microsoft.graph.mailFolder entity.
 */
export interface MailFolderItemRequestBuilder extends BaseRequestBuilder<MailFolderItemRequestBuilder> {
    /**
     * Provides operations to call the copy method.
     */
    get copy(): CopyRequestBuilder;
    /**
     * Provides operations to manage the messageRules property of the microsoft.graph.mailFolder entity.
     */
    get messageRules(): MessageRulesRequestBuilder;
    /**
     * Provides operations to manage the messages property of the microsoft.graph.mailFolder entity.
     */
    get messages(): MessagesRequestBuilder;
    /**
     * Provides operations to call the move method.
     */
    get move(): MoveRequestBuilder;
    /**
     * Provides operations to manage the operations property of the microsoft.graph.mailFolder entity.
     */
    get operations(): OperationsRequestBuilder;
    /**
     * Provides operations to call the permanentDelete method.
     */
    get permanentDelete(): PermanentDeleteRequestBuilder;
    /**
     * Provides operations to call the updateAllMessagesReadState method.
     */
    get updateAllMessagesReadState(): UpdateAllMessagesReadStateRequestBuilder;
    /**
     * Provides operations to manage the userConfigurations property of the microsoft.graph.mailFolder entity.
     */
    get userConfigurations(): UserConfigurationsRequestBuilder;
    /**
     * Delete navigation property childFolders 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>;
    /**
     * The collection of child folders in the mailFolder.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<MailFolder>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<MailFolderItemRequestBuilderGetQueryParameters> | undefined): Promise<MailFolder | undefined>;
    /**
     * Update the navigation property childFolders in users
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<MailFolder>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: MailFolder, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<MailFolder | undefined>;
    /**
     * Delete navigation property childFolders for users
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * The collection of child folders in the mailFolder.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<MailFolderItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property childFolders 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: MailFolder, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * The collection of child folders in the mailFolder.
 */
export interface MailFolderItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Include Hidden Folders
     */
    includeHiddenFolders?: string;
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const MailFolderItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}{?%24expand,%24select,includeHiddenFolders*}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const MailFolderItemRequestBuilderNavigationMetadata: Record<Exclude<keyof MailFolderItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const MailFolderItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map