import { type DeviceManagementIntent } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type AssignRequestBuilder } from './assign/index.js';
import { type AssignmentsRequestBuilder } from './assignments/index.js';
import { type CategoriesRequestBuilder } from './categories/index.js';
import { type CompareWithTemplateIdRequestBuilder } from './compareWithTemplateId/index.js';
import { type CreateCopyRequestBuilder } from './createCopy/index.js';
import { type DeviceSettingStateSummariesRequestBuilder } from './deviceSettingStateSummaries/index.js';
import { type DeviceStatesRequestBuilder } from './deviceStates/index.js';
import { type DeviceStateSummaryRequestBuilder } from './deviceStateSummary/index.js';
import { type GetCustomizedSettingsRequestBuilder } from './getCustomizedSettings/index.js';
import { type MigrateToTemplateRequestBuilder } from './migrateToTemplate/index.js';
import { type SettingsRequestBuilder } from './settings/index.js';
import { type UpdateSettingsRequestBuilder } from './updateSettings/index.js';
import { type UserStatesRequestBuilder } from './userStates/index.js';
import { type UserStateSummaryRequestBuilder } from './userStateSummary/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the intents property of the microsoft.graph.deviceManagement entity.
 */
export interface DeviceManagementIntentItemRequestBuilder extends BaseRequestBuilder<DeviceManagementIntentItemRequestBuilder> {
    /**
     * Provides operations to call the assign method.
     */
    get assign(): AssignRequestBuilder;
    /**
     * Provides operations to manage the assignments property of the microsoft.graph.deviceManagementIntent entity.
     */
    get assignments(): AssignmentsRequestBuilder;
    /**
     * Provides operations to manage the categories property of the microsoft.graph.deviceManagementIntent entity.
     */
    get categories(): CategoriesRequestBuilder;
    /**
     * Provides operations to call the createCopy method.
     */
    get createCopy(): CreateCopyRequestBuilder;
    /**
     * Provides operations to manage the deviceSettingStateSummaries property of the microsoft.graph.deviceManagementIntent entity.
     */
    get deviceSettingStateSummaries(): DeviceSettingStateSummariesRequestBuilder;
    /**
     * Provides operations to manage the deviceStates property of the microsoft.graph.deviceManagementIntent entity.
     */
    get deviceStates(): DeviceStatesRequestBuilder;
    /**
     * Provides operations to manage the deviceStateSummary property of the microsoft.graph.deviceManagementIntent entity.
     */
    get deviceStateSummary(): DeviceStateSummaryRequestBuilder;
    /**
     * Provides operations to call the getCustomizedSettings method.
     */
    get getCustomizedSettings(): GetCustomizedSettingsRequestBuilder;
    /**
     * Provides operations to call the migrateToTemplate method.
     */
    get migrateToTemplate(): MigrateToTemplateRequestBuilder;
    /**
     * Provides operations to manage the settings property of the microsoft.graph.deviceManagementIntent entity.
     */
    get settings(): SettingsRequestBuilder;
    /**
     * Provides operations to call the updateSettings method.
     */
    get updateSettings(): UpdateSettingsRequestBuilder;
    /**
     * Provides operations to manage the userStates property of the microsoft.graph.deviceManagementIntent entity.
     */
    get userStates(): UserStatesRequestBuilder;
    /**
     * Provides operations to manage the userStateSummary property of the microsoft.graph.deviceManagementIntent entity.
     */
    get userStateSummary(): UserStateSummaryRequestBuilder;
    /**
     * Provides operations to call the compare method.
     * @param templateId Usage: templateId='{templateId}'
     * @returns {CompareWithTemplateIdRequestBuilder}
     */
    compareWithTemplateId(templateId: string | undefined): CompareWithTemplateIdRequestBuilder;
    /**
     * Delete navigation property intents for deviceManagement
     * @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 device management intents
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<DeviceManagementIntent>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<DeviceManagementIntentItemRequestBuilderGetQueryParameters> | undefined): Promise<DeviceManagementIntent | undefined>;
    /**
     * Update the navigation property intents in deviceManagement
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<DeviceManagementIntent>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: DeviceManagementIntent, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<DeviceManagementIntent | undefined>;
    /**
     * Delete navigation property intents for deviceManagement
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * The device management intents
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<DeviceManagementIntentItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property intents in deviceManagement
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: DeviceManagementIntent, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * The device management intents
 */
export interface DeviceManagementIntentItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const DeviceManagementIntentItemRequestBuilderUriTemplate = "{+baseurl}/deviceManagement/intents/{deviceManagementIntent%2Did}{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const DeviceManagementIntentItemRequestBuilderNavigationMetadata: Record<Exclude<keyof DeviceManagementIntentItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const DeviceManagementIntentItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map