import { type Profile } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type AccountRequestBuilder } from './account/index.js';
import { type AddressesRequestBuilder } from './addresses/index.js';
import { type AnniversariesRequestBuilder } from './anniversaries/index.js';
import { type AwardsRequestBuilder } from './awards/index.js';
import { type CertificationsRequestBuilder } from './certifications/index.js';
import { type EducationalActivitiesRequestBuilder } from './educationalActivities/index.js';
import { type EmailsRequestBuilder } from './emails/index.js';
import { type InterestsRequestBuilder } from './interests/index.js';
import { type LanguagesRequestBuilder } from './languages/index.js';
import { type NamesRequestBuilder } from './names/index.js';
import { type NotesRequestBuilder } from './notes/index.js';
import { type PatentsRequestBuilder } from './patents/index.js';
import { type PhonesRequestBuilder } from './phones/index.js';
import { type PositionsRequestBuilder } from './positions/index.js';
import { type ProjectsRequestBuilder } from './projects/index.js';
import { type PublicationsRequestBuilder } from './publications/index.js';
import { type SkillsRequestBuilder } from './skills/index.js';
import { type WebAccountsRequestBuilder } from './webAccounts/index.js';
import { type WebsitesRequestBuilder } from './websites/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the profile property of the microsoft.graph.user entity.
 */
export interface ProfileRequestBuilder extends BaseRequestBuilder<ProfileRequestBuilder> {
    /**
     * Provides operations to manage the account property of the microsoft.graph.profile entity.
     */
    get account(): AccountRequestBuilder;
    /**
     * Provides operations to manage the addresses property of the microsoft.graph.profile entity.
     */
    get addresses(): AddressesRequestBuilder;
    /**
     * Provides operations to manage the anniversaries property of the microsoft.graph.profile entity.
     */
    get anniversaries(): AnniversariesRequestBuilder;
    /**
     * Provides operations to manage the awards property of the microsoft.graph.profile entity.
     */
    get awards(): AwardsRequestBuilder;
    /**
     * Provides operations to manage the certifications property of the microsoft.graph.profile entity.
     */
    get certifications(): CertificationsRequestBuilder;
    /**
     * Provides operations to manage the educationalActivities property of the microsoft.graph.profile entity.
     */
    get educationalActivities(): EducationalActivitiesRequestBuilder;
    /**
     * Provides operations to manage the emails property of the microsoft.graph.profile entity.
     */
    get emails(): EmailsRequestBuilder;
    /**
     * Provides operations to manage the interests property of the microsoft.graph.profile entity.
     */
    get interests(): InterestsRequestBuilder;
    /**
     * Provides operations to manage the languages property of the microsoft.graph.profile entity.
     */
    get languages(): LanguagesRequestBuilder;
    /**
     * Provides operations to manage the names property of the microsoft.graph.profile entity.
     */
    get names(): NamesRequestBuilder;
    /**
     * Provides operations to manage the notes property of the microsoft.graph.profile entity.
     */
    get notes(): NotesRequestBuilder;
    /**
     * Provides operations to manage the patents property of the microsoft.graph.profile entity.
     */
    get patents(): PatentsRequestBuilder;
    /**
     * Provides operations to manage the phones property of the microsoft.graph.profile entity.
     */
    get phones(): PhonesRequestBuilder;
    /**
     * Provides operations to manage the positions property of the microsoft.graph.profile entity.
     */
    get positions(): PositionsRequestBuilder;
    /**
     * Provides operations to manage the projects property of the microsoft.graph.profile entity.
     */
    get projects(): ProjectsRequestBuilder;
    /**
     * Provides operations to manage the publications property of the microsoft.graph.profile entity.
     */
    get publications(): PublicationsRequestBuilder;
    /**
     * Provides operations to manage the skills property of the microsoft.graph.profile entity.
     */
    get skills(): SkillsRequestBuilder;
    /**
     * Provides operations to manage the webAccounts property of the microsoft.graph.profile entity.
     */
    get webAccounts(): WebAccountsRequestBuilder;
    /**
     * Provides operations to manage the websites property of the microsoft.graph.profile entity.
     */
    get websites(): WebsitesRequestBuilder;
    /**
     * Delete navigation property profile for users
     * @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>;
    /**
     * Represents properties that are descriptive of a user in a tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Profile>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<ProfileRequestBuilderGetQueryParameters> | undefined): Promise<Profile | undefined>;
    /**
     * Update the navigation property profile in users
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Profile>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: Profile, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<Profile | undefined>;
    /**
     * Delete navigation property profile for users
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * Represents properties that are descriptive of a user in a tenant.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<ProfileRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property profile in users
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: Profile, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Represents properties that are descriptive of a user in a tenant.
 */
export interface ProfileRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const ProfileRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/profile{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const ProfileRequestBuilderNavigationMetadata: Record<Exclude<keyof ProfileRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const ProfileRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map