import { type Application } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type AddKeyRequestBuilder } from './addKey/index.js';
import { type AddPasswordRequestBuilder } from './addPassword/index.js';
import { type AppManagementPoliciesRequestBuilder } from './appManagementPolicies/index.js';
import { type CheckMemberGroupsRequestBuilder } from './checkMemberGroups/index.js';
import { type CheckMemberObjectsRequestBuilder } from './checkMemberObjects/index.js';
import { type ConnectorGroupRequestBuilder } from './connectorGroup/index.js';
import { type CreatedOnBehalfOfRequestBuilder } from './createdOnBehalfOf/index.js';
import { type ExtensionPropertiesRequestBuilder } from './extensionProperties/index.js';
import { type FederatedIdentityCredentialsRequestBuilder } from './federatedIdentityCredentials/index.js';
import { type FederatedIdentityCredentialsWithNameRequestBuilder } from './federatedIdentityCredentialsWithName/index.js';
import { type GetMemberGroupsRequestBuilder } from './getMemberGroups/index.js';
import { type GetMemberObjectsRequestBuilder } from './getMemberObjects/index.js';
import { type HomeRealmDiscoveryPoliciesRequestBuilder } from './homeRealmDiscoveryPolicies/index.js';
import { type LogoRequestBuilder } from './logo/index.js';
import { type OwnersRequestBuilder } from './owners/index.js';
import { type RemoveKeyRequestBuilder } from './removeKey/index.js';
import { type RemovePasswordRequestBuilder } from './removePassword/index.js';
import { type RestoreRequestBuilder } from './restore/index.js';
import { type SetVerifiedPublisherRequestBuilder } from './setVerifiedPublisher/index.js';
import { type SynchronizationRequestBuilder } from './synchronization/index.js';
import { type TokenIssuancePoliciesRequestBuilder } from './tokenIssuancePolicies/index.js';
import { type TokenLifetimePoliciesRequestBuilder } from './tokenLifetimePolicies/index.js';
import { type UnsetVerifiedPublisherRequestBuilder } from './unsetVerifiedPublisher/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the collection of application entities.
 */
export interface ApplicationItemRequestBuilder extends BaseRequestBuilder<ApplicationItemRequestBuilder> {
    /**
     * Provides operations to call the addKey method.
     */
    get addKey(): AddKeyRequestBuilder;
    /**
     * Provides operations to call the addPassword method.
     */
    get addPassword(): AddPasswordRequestBuilder;
    /**
     * Provides operations to manage the appManagementPolicies property of the microsoft.graph.application entity.
     */
    get appManagementPolicies(): AppManagementPoliciesRequestBuilder;
    /**
     * Provides operations to call the checkMemberGroups method.
     */
    get checkMemberGroups(): CheckMemberGroupsRequestBuilder;
    /**
     * Provides operations to call the checkMemberObjects method.
     */
    get checkMemberObjects(): CheckMemberObjectsRequestBuilder;
    /**
     * Provides operations to manage the connectorGroup property of the microsoft.graph.application entity.
     */
    get connectorGroup(): ConnectorGroupRequestBuilder;
    /**
     * Provides operations to manage the createdOnBehalfOf property of the microsoft.graph.application entity.
     */
    get createdOnBehalfOf(): CreatedOnBehalfOfRequestBuilder;
    /**
     * Provides operations to manage the extensionProperties property of the microsoft.graph.application entity.
     */
    get extensionProperties(): ExtensionPropertiesRequestBuilder;
    /**
     * Provides operations to manage the federatedIdentityCredentials property of the microsoft.graph.application entity.
     */
    get federatedIdentityCredentials(): FederatedIdentityCredentialsRequestBuilder;
    /**
     * Provides operations to call the getMemberGroups method.
     */
    get getMemberGroups(): GetMemberGroupsRequestBuilder;
    /**
     * Provides operations to call the getMemberObjects method.
     */
    get getMemberObjects(): GetMemberObjectsRequestBuilder;
    /**
     * Provides operations to manage the homeRealmDiscoveryPolicies property of the microsoft.graph.application entity.
     */
    get homeRealmDiscoveryPolicies(): HomeRealmDiscoveryPoliciesRequestBuilder;
    /**
     * Provides operations to manage the media for the application entity.
     */
    get logo(): LogoRequestBuilder;
    /**
     * Provides operations to manage the owners property of the microsoft.graph.application entity.
     */
    get owners(): OwnersRequestBuilder;
    /**
     * Provides operations to call the removeKey method.
     */
    get removeKey(): RemoveKeyRequestBuilder;
    /**
     * Provides operations to call the removePassword method.
     */
    get removePassword(): RemovePasswordRequestBuilder;
    /**
     * Provides operations to call the restore method.
     */
    get restore(): RestoreRequestBuilder;
    /**
     * Provides operations to call the setVerifiedPublisher method.
     */
    get setVerifiedPublisher(): SetVerifiedPublisherRequestBuilder;
    /**
     * Provides operations to manage the synchronization property of the microsoft.graph.application entity.
     */
    get synchronization(): SynchronizationRequestBuilder;
    /**
     * Provides operations to manage the tokenIssuancePolicies property of the microsoft.graph.application entity.
     */
    get tokenIssuancePolicies(): TokenIssuancePoliciesRequestBuilder;
    /**
     * Provides operations to manage the tokenLifetimePolicies property of the microsoft.graph.application entity.
     */
    get tokenLifetimePolicies(): TokenLifetimePoliciesRequestBuilder;
    /**
     * Provides operations to call the unsetVerifiedPublisher method.
     */
    get unsetVerifiedPublisher(): UnsetVerifiedPublisherRequestBuilder;
    /**
     * Deletes an application. When deleted, apps are moved to a temporary container and can be restored within 30 days. After that time, they are permanently deleted.
     * @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
     * @see {@link https://learn.microsoft.com/graph/api/application-delete?view=graph-rest-beta|Find more info here}
     */
    delete(requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * Provides operations to manage the federatedIdentityCredentials property of the microsoft.graph.application entity.
     * @param name Alternate key of federatedIdentityCredential
     * @returns {FederatedIdentityCredentialsWithNameRequestBuilder}
     */
    federatedIdentityCredentialsWithName(name: string | undefined): FederatedIdentityCredentialsWithNameRequestBuilder;
    /**
     * Get the properties and relationships of an application object.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Application>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/application-get?view=graph-rest-beta|Find more info here}
     */
    get(requestConfiguration?: RequestConfiguration<ApplicationItemRequestBuilderGetQueryParameters> | undefined): Promise<Application | undefined>;
    /**
     * Create a new application object if it doesn't exist, or update the properties of an existing application object.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Application>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/application-upsert?view=graph-rest-beta|Find more info here}
     */
    patch(body: Application, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<Application | undefined>;
    /**
     * Deletes an application. When deleted, apps are moved to a temporary container and can be restored within 30 days. After that time, they are permanently deleted.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * Get the properties and relationships of an application object.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<ApplicationItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Create a new application object if it doesn't exist, or update the properties of an existing application object.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: Application, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Get the properties and relationships of an application object.
 */
export interface ApplicationItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const ApplicationItemRequestBuilderUriTemplate = "{+baseurl}/applications/{application%2Did}{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const ApplicationItemRequestBuilderNavigationMetadata: Record<Exclude<keyof ApplicationItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const ApplicationItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map