import { type BackupRestoreRoot } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type ActivityLogsRequestBuilder } from './activityLogs/index.js';
import { type BrowseSessionsRequestBuilder } from './browseSessions/index.js';
import { type DriveExclusionUnitsRequestBuilder } from './driveExclusionUnits/index.js';
import { type DriveExclusionUnitsBulkAdditionJobsRequestBuilder } from './driveExclusionUnitsBulkAdditionJobs/index.js';
import { type DriveInclusionRulesRequestBuilder } from './driveInclusionRules/index.js';
import { type DriveProtectionUnitsRequestBuilder } from './driveProtectionUnits/index.js';
import { type DriveProtectionUnitsBulkAdditionJobsRequestBuilder } from './driveProtectionUnitsBulkAdditionJobs/index.js';
import { type EmailNotificationsSettingRequestBuilder } from './emailNotificationsSetting/index.js';
import { type EnableRequestBuilder } from './enable/index.js';
import { type ExchangeProtectionPoliciesRequestBuilder } from './exchangeProtectionPolicies/index.js';
import { type ExchangeRestoreSessionsRequestBuilder } from './exchangeRestoreSessions/index.js';
import { type ExclusionUnitsRequestBuilder } from './exclusionUnits/index.js';
import { type MailboxExclusionUnitsRequestBuilder } from './mailboxExclusionUnits/index.js';
import { type MailboxExclusionUnitsBulkAdditionJobsRequestBuilder } from './mailboxExclusionUnitsBulkAdditionJobs/index.js';
import { type MailboxInclusionRulesRequestBuilder } from './mailboxInclusionRules/index.js';
import { type MailboxProtectionUnitsRequestBuilder } from './mailboxProtectionUnits/index.js';
import { type MailboxProtectionUnitsBulkAdditionJobsRequestBuilder } from './mailboxProtectionUnitsBulkAdditionJobs/index.js';
import { type OneDriveForBusinessBrowseSessionsRequestBuilder } from './oneDriveForBusinessBrowseSessions/index.js';
import { type OneDriveForBusinessProtectionPoliciesRequestBuilder } from './oneDriveForBusinessProtectionPolicies/index.js';
import { type OneDriveForBusinessRestoreSessionsRequestBuilder } from './oneDriveForBusinessRestoreSessions/index.js';
import { type ProtectionPoliciesRequestBuilder } from './protectionPolicies/index.js';
import { type ProtectionUnitsRequestBuilder } from './protectionUnits/index.js';
import { type ReportsRequestBuilder } from './reports/index.js';
import { type RestorePointsRequestBuilder } from './restorePoints/index.js';
import { type RestoreSessionsRequestBuilder } from './restoreSessions/index.js';
import { type ServiceAppsRequestBuilder } from './serviceApps/index.js';
import { type SharePointBrowseSessionsRequestBuilder } from './sharePointBrowseSessions/index.js';
import { type SharePointProtectionPoliciesRequestBuilder } from './sharePointProtectionPolicies/index.js';
import { type SharePointRestoreSessionsRequestBuilder } from './sharePointRestoreSessions/index.js';
import { type SiteExclusionUnitsRequestBuilder } from './siteExclusionUnits/index.js';
import { type SiteExclusionUnitsBulkAdditionJobsRequestBuilder } from './siteExclusionUnitsBulkAdditionJobs/index.js';
import { type SiteInclusionRulesRequestBuilder } from './siteInclusionRules/index.js';
import { type SiteProtectionUnitsRequestBuilder } from './siteProtectionUnits/index.js';
import { type SiteProtectionUnitsBulkAdditionJobsRequestBuilder } from './siteProtectionUnitsBulkAdditionJobs/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the backupRestore property of the microsoft.graph.solutionsRoot entity.
 */
export interface BackupRestoreRequestBuilder extends BaseRequestBuilder<BackupRestoreRequestBuilder> {
    /**
     * Provides operations to manage the activityLogs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get activityLogs(): ActivityLogsRequestBuilder;
    /**
     * Provides operations to manage the browseSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get browseSessions(): BrowseSessionsRequestBuilder;
    /**
     * Provides operations to manage the driveExclusionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get driveExclusionUnits(): DriveExclusionUnitsRequestBuilder;
    /**
     * Provides operations to manage the driveExclusionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get driveExclusionUnitsBulkAdditionJobs(): DriveExclusionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Provides operations to manage the driveInclusionRules property of the microsoft.graph.backupRestoreRoot entity.
     */
    get driveInclusionRules(): DriveInclusionRulesRequestBuilder;
    /**
     * Provides operations to manage the driveProtectionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get driveProtectionUnits(): DriveProtectionUnitsRequestBuilder;
    /**
     * Provides operations to manage the driveProtectionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get driveProtectionUnitsBulkAdditionJobs(): DriveProtectionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Provides operations to manage the emailNotificationsSetting property of the microsoft.graph.backupRestoreRoot entity.
     */
    get emailNotificationsSetting(): EmailNotificationsSettingRequestBuilder;
    /**
     * Provides operations to call the enable method.
     */
    get enable(): EnableRequestBuilder;
    /**
     * Provides operations to manage the exchangeProtectionPolicies property of the microsoft.graph.backupRestoreRoot entity.
     */
    get exchangeProtectionPolicies(): ExchangeProtectionPoliciesRequestBuilder;
    /**
     * Provides operations to manage the exchangeRestoreSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get exchangeRestoreSessions(): ExchangeRestoreSessionsRequestBuilder;
    /**
     * Provides operations to manage the exclusionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get exclusionUnits(): ExclusionUnitsRequestBuilder;
    /**
     * Provides operations to manage the mailboxExclusionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get mailboxExclusionUnits(): MailboxExclusionUnitsRequestBuilder;
    /**
     * Provides operations to manage the mailboxExclusionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get mailboxExclusionUnitsBulkAdditionJobs(): MailboxExclusionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Provides operations to manage the mailboxInclusionRules property of the microsoft.graph.backupRestoreRoot entity.
     */
    get mailboxInclusionRules(): MailboxInclusionRulesRequestBuilder;
    /**
     * Provides operations to manage the mailboxProtectionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get mailboxProtectionUnits(): MailboxProtectionUnitsRequestBuilder;
    /**
     * Provides operations to manage the mailboxProtectionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get mailboxProtectionUnitsBulkAdditionJobs(): MailboxProtectionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Provides operations to manage the oneDriveForBusinessBrowseSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get oneDriveForBusinessBrowseSessions(): OneDriveForBusinessBrowseSessionsRequestBuilder;
    /**
     * Provides operations to manage the oneDriveForBusinessProtectionPolicies property of the microsoft.graph.backupRestoreRoot entity.
     */
    get oneDriveForBusinessProtectionPolicies(): OneDriveForBusinessProtectionPoliciesRequestBuilder;
    /**
     * Provides operations to manage the oneDriveForBusinessRestoreSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get oneDriveForBusinessRestoreSessions(): OneDriveForBusinessRestoreSessionsRequestBuilder;
    /**
     * Provides operations to manage the protectionPolicies property of the microsoft.graph.backupRestoreRoot entity.
     */
    get protectionPolicies(): ProtectionPoliciesRequestBuilder;
    /**
     * Provides operations to manage the protectionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get protectionUnits(): ProtectionUnitsRequestBuilder;
    /**
     * Provides operations to manage the reports property of the microsoft.graph.backupRestoreRoot entity.
     */
    get reports(): ReportsRequestBuilder;
    /**
     * Provides operations to manage the restorePoints property of the microsoft.graph.backupRestoreRoot entity.
     */
    get restorePoints(): RestorePointsRequestBuilder;
    /**
     * Provides operations to manage the restoreSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get restoreSessions(): RestoreSessionsRequestBuilder;
    /**
     * Provides operations to manage the serviceApps property of the microsoft.graph.backupRestoreRoot entity.
     */
    get serviceApps(): ServiceAppsRequestBuilder;
    /**
     * Provides operations to manage the sharePointBrowseSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get sharePointBrowseSessions(): SharePointBrowseSessionsRequestBuilder;
    /**
     * Provides operations to manage the sharePointProtectionPolicies property of the microsoft.graph.backupRestoreRoot entity.
     */
    get sharePointProtectionPolicies(): SharePointProtectionPoliciesRequestBuilder;
    /**
     * Provides operations to manage the sharePointRestoreSessions property of the microsoft.graph.backupRestoreRoot entity.
     */
    get sharePointRestoreSessions(): SharePointRestoreSessionsRequestBuilder;
    /**
     * Provides operations to manage the siteExclusionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get siteExclusionUnits(): SiteExclusionUnitsRequestBuilder;
    /**
     * Provides operations to manage the siteExclusionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get siteExclusionUnitsBulkAdditionJobs(): SiteExclusionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Provides operations to manage the siteInclusionRules property of the microsoft.graph.backupRestoreRoot entity.
     */
    get siteInclusionRules(): SiteInclusionRulesRequestBuilder;
    /**
     * Provides operations to manage the siteProtectionUnits property of the microsoft.graph.backupRestoreRoot entity.
     */
    get siteProtectionUnits(): SiteProtectionUnitsRequestBuilder;
    /**
     * Provides operations to manage the siteProtectionUnitsBulkAdditionJobs property of the microsoft.graph.backupRestoreRoot entity.
     */
    get siteProtectionUnitsBulkAdditionJobs(): SiteProtectionUnitsBulkAdditionJobsRequestBuilder;
    /**
     * Delete navigation property backupRestore for solutions
     * @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>;
    /**
     * Get the serviceStatus of the Microsoft 365 Backup Storage service in a tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<BackupRestoreRoot>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/backuprestoreroot-get?view=graph-rest-beta|Find more info here}
     */
    get(requestConfiguration?: RequestConfiguration<BackupRestoreRequestBuilderGetQueryParameters> | undefined): Promise<BackupRestoreRoot | undefined>;
    /**
     * Update the navigation property backupRestore in solutions
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<BackupRestoreRoot>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: BackupRestoreRoot, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<BackupRestoreRoot | undefined>;
    /**
     * Delete navigation property backupRestore for solutions
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * Get the serviceStatus of the Microsoft 365 Backup Storage service in a tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<BackupRestoreRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property backupRestore in solutions
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: BackupRestoreRoot, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Get the serviceStatus of the Microsoft 365 Backup Storage service in a tenant.
 */
export interface BackupRestoreRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const BackupRestoreRequestBuilderUriTemplate = "{+baseurl}/solutions/backupRestore{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const BackupRestoreRequestBuilderNavigationMetadata: Record<Exclude<keyof BackupRestoreRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const BackupRestoreRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map