import { type DepOnboardingSetting } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type DefaultIosEnrollmentProfileRequestBuilder } from './defaultIosEnrollmentProfile/index.js';
import { type DefaultMacOsEnrollmentProfileRequestBuilder } from './defaultMacOsEnrollmentProfile/index.js';
import { type DefaultTvOSEnrollmentProfileRequestBuilder } from './defaultTvOSEnrollmentProfile/index.js';
import { type DefaultVisionOSEnrollmentProfileRequestBuilder } from './defaultVisionOSEnrollmentProfile/index.js';
import { type EnrollmentProfilesRequestBuilder } from './enrollmentProfiles/index.js';
import { type GenerateEncryptionPublicKeyRequestBuilder } from './generateEncryptionPublicKey/index.js';
import { type GetEncryptionPublicKeyRequestBuilder } from './getEncryptionPublicKey/index.js';
import { type ImportedAppleDeviceIdentitiesRequestBuilder } from './importedAppleDeviceIdentities/index.js';
import { type ShareForSchoolDataSyncServiceRequestBuilder } from './shareForSchoolDataSyncService/index.js';
import { type SyncWithAppleDeviceEnrollmentProgramRequestBuilder } from './syncWithAppleDeviceEnrollmentProgram/index.js';
import { type UnshareForSchoolDataSyncServiceRequestBuilder } from './unshareForSchoolDataSyncService/index.js';
import { type UploadDepTokenRequestBuilder } from './uploadDepToken/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the depOnboardingSettings property of the microsoft.graph.deviceManagement entity.
 */
export interface DepOnboardingSettingItemRequestBuilder extends BaseRequestBuilder<DepOnboardingSettingItemRequestBuilder> {
    /**
     * Provides operations to manage the defaultIosEnrollmentProfile property of the microsoft.graph.depOnboardingSetting entity.
     */
    get defaultIosEnrollmentProfile(): DefaultIosEnrollmentProfileRequestBuilder;
    /**
     * Provides operations to manage the defaultMacOsEnrollmentProfile property of the microsoft.graph.depOnboardingSetting entity.
     */
    get defaultMacOsEnrollmentProfile(): DefaultMacOsEnrollmentProfileRequestBuilder;
    /**
     * Provides operations to manage the defaultTvOSEnrollmentProfile property of the microsoft.graph.depOnboardingSetting entity.
     */
    get defaultTvOSEnrollmentProfile(): DefaultTvOSEnrollmentProfileRequestBuilder;
    /**
     * Provides operations to manage the defaultVisionOSEnrollmentProfile property of the microsoft.graph.depOnboardingSetting entity.
     */
    get defaultVisionOSEnrollmentProfile(): DefaultVisionOSEnrollmentProfileRequestBuilder;
    /**
     * Provides operations to manage the enrollmentProfiles property of the microsoft.graph.depOnboardingSetting entity.
     */
    get enrollmentProfiles(): EnrollmentProfilesRequestBuilder;
    /**
     * Provides operations to call the generateEncryptionPublicKey method.
     */
    get generateEncryptionPublicKey(): GenerateEncryptionPublicKeyRequestBuilder;
    /**
     * Provides operations to call the getEncryptionPublicKey method.
     */
    get getEncryptionPublicKey(): GetEncryptionPublicKeyRequestBuilder;
    /**
     * Provides operations to manage the importedAppleDeviceIdentities property of the microsoft.graph.depOnboardingSetting entity.
     */
    get importedAppleDeviceIdentities(): ImportedAppleDeviceIdentitiesRequestBuilder;
    /**
     * Provides operations to call the shareForSchoolDataSyncService method.
     */
    get shareForSchoolDataSyncService(): ShareForSchoolDataSyncServiceRequestBuilder;
    /**
     * Provides operations to call the syncWithAppleDeviceEnrollmentProgram method.
     */
    get syncWithAppleDeviceEnrollmentProgram(): SyncWithAppleDeviceEnrollmentProgramRequestBuilder;
    /**
     * Provides operations to call the unshareForSchoolDataSyncService method.
     */
    get unshareForSchoolDataSyncService(): UnshareForSchoolDataSyncServiceRequestBuilder;
    /**
     * Provides operations to call the uploadDepToken method.
     */
    get uploadDepToken(): UploadDepTokenRequestBuilder;
    /**
     * Delete navigation property depOnboardingSettings 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>;
    /**
     * This collections of multiple DEP tokens per-tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<DepOnboardingSetting>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<DepOnboardingSettingItemRequestBuilderGetQueryParameters> | undefined): Promise<DepOnboardingSetting | undefined>;
    /**
     * Update the navigation property depOnboardingSettings in deviceManagement
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<DepOnboardingSetting>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: DepOnboardingSetting, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<DepOnboardingSetting | undefined>;
    /**
     * Delete navigation property depOnboardingSettings for deviceManagement
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * This collections of multiple DEP tokens per-tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<DepOnboardingSettingItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property depOnboardingSettings 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: DepOnboardingSetting, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * This collections of multiple DEP tokens per-tenant.
 */
export interface DepOnboardingSettingItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const DepOnboardingSettingItemRequestBuilderUriTemplate = "{+baseurl}/deviceManagement/depOnboardingSettings/{depOnboardingSetting%2Did}{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const DepOnboardingSettingItemRequestBuilderNavigationMetadata: Record<Exclude<keyof DepOnboardingSettingItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const DepOnboardingSettingItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map