import { type MailFolder } from '@microsoft/msgraph-beta-sdk/models/';
import { type CopyRequestBuilder } from './copy/';
import { type MessageRulesRequestBuilder } from './messageRules/';
import { type MessagesRequestBuilder } from './messages/';
import { type MoveRequestBuilder } from './move/';
import { type UserConfigurationsRequestBuilder } from './userConfigurations/';
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 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.
     */
    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 a Promise of MailFolder
     */
    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 a Promise of MailFolder
     */
    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 a 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 a 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 a 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[];
}
/**
 * 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;
/**
 * Uri template for the request builder.
 */
export declare const MailFolderItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}{?includeHiddenFolders*,%24select,%24expand}";
//# sourceMappingURL=index.d.ts.map