import { type Team } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type AllChannelsRequestBuilder } from './allChannels/index.js';
import { type ArchiveRequestBuilder } from './archive/index.js';
import { type ChannelsRequestBuilder } from './channels/index.js';
import { type CloneRequestBuilder } from './clone/index.js';
import { type CompleteMigrationRequestBuilder } from './completeMigration/index.js';
import { type GroupRequestBuilder } from './group/index.js';
import { type IncomingChannelsRequestBuilder } from './incomingChannels/index.js';
import { type InstalledAppsRequestBuilder } from './installedApps/index.js';
import { type MembersRequestBuilder } from './members/index.js';
import { type OperationsRequestBuilder } from './operations/index.js';
import { type OwnersRequestBuilder } from './owners/index.js';
import { type OwnersWithUserPrincipalNameRequestBuilder } from './ownersWithUserPrincipalName/index.js';
import { type PermissionGrantsRequestBuilder } from './permissionGrants/index.js';
import { type PhotoRequestBuilder } from './photo/index.js';
import { type PrimaryChannelRequestBuilder } from './primaryChannel/index.js';
import { type ScheduleRequestBuilder } from './schedule/index.js';
import { type SendActivityNotificationRequestBuilder } from './sendActivityNotification/index.js';
import { type TagsRequestBuilder } from './tags/index.js';
import { type TemplateRequestBuilder } from './template/index.js';
import { type TemplateDefinitionRequestBuilder } from './templateDefinition/index.js';
import { type UnarchiveRequestBuilder } from './unarchive/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the team property of the microsoft.graph.group entity.
 */
export interface TeamRequestBuilder extends BaseRequestBuilder<TeamRequestBuilder> {
    /**
     * Provides operations to manage the allChannels property of the microsoft.graph.team entity.
     */
    get allChannels(): AllChannelsRequestBuilder;
    /**
     * Provides operations to call the archive method.
     */
    get archive(): ArchiveRequestBuilder;
    /**
     * Provides operations to manage the channels property of the microsoft.graph.team entity.
     */
    get channels(): ChannelsRequestBuilder;
    /**
     * Provides operations to call the clone method.
     */
    get clone(): CloneRequestBuilder;
    /**
     * Provides operations to call the completeMigration method.
     */
    get completeMigration(): CompleteMigrationRequestBuilder;
    /**
     * Provides operations to manage the group property of the microsoft.graph.team entity.
     */
    get group(): GroupRequestBuilder;
    /**
     * Provides operations to manage the incomingChannels property of the microsoft.graph.team entity.
     */
    get incomingChannels(): IncomingChannelsRequestBuilder;
    /**
     * Provides operations to manage the installedApps property of the microsoft.graph.team entity.
     */
    get installedApps(): InstalledAppsRequestBuilder;
    /**
     * Provides operations to manage the members property of the microsoft.graph.team entity.
     */
    get members(): MembersRequestBuilder;
    /**
     * Provides operations to manage the operations property of the microsoft.graph.team entity.
     */
    get operations(): OperationsRequestBuilder;
    /**
     * Provides operations to manage the owners property of the microsoft.graph.team entity.
     */
    get owners(): OwnersRequestBuilder;
    /**
     * Provides operations to manage the permissionGrants property of the microsoft.graph.team entity.
     */
    get permissionGrants(): PermissionGrantsRequestBuilder;
    /**
     * Provides operations to manage the photo property of the microsoft.graph.team entity.
     */
    get photo(): PhotoRequestBuilder;
    /**
     * Provides operations to manage the primaryChannel property of the microsoft.graph.team entity.
     */
    get primaryChannel(): PrimaryChannelRequestBuilder;
    /**
     * Provides operations to manage the schedule property of the microsoft.graph.team entity.
     */
    get schedule(): ScheduleRequestBuilder;
    /**
     * Provides operations to call the sendActivityNotification method.
     */
    get sendActivityNotification(): SendActivityNotificationRequestBuilder;
    /**
     * Provides operations to manage the tags property of the microsoft.graph.team entity.
     */
    get tags(): TagsRequestBuilder;
    /**
     * Provides operations to manage the template property of the microsoft.graph.team entity.
     */
    get template(): TemplateRequestBuilder;
    /**
     * Provides operations to manage the templateDefinition property of the microsoft.graph.team entity.
     */
    get templateDefinition(): TemplateDefinitionRequestBuilder;
    /**
     * Provides operations to call the unarchive method.
     */
    get unarchive(): UnarchiveRequestBuilder;
    /**
     * Delete navigation property team for groups
     * @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 team associated with this group.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Team>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    get(requestConfiguration?: RequestConfiguration<TeamRequestBuilderGetQueryParameters> | undefined): Promise<Team | undefined>;
    /**
     * Provides operations to manage the owners property of the microsoft.graph.team entity.
     * @param userPrincipalName Alternate key of user
     * @returns {OwnersWithUserPrincipalNameRequestBuilder}
     */
    ownersWithUserPrincipalName(userPrincipalName: string | undefined): OwnersWithUserPrincipalNameRequestBuilder;
    /**
     * Create a new team from a group. In order to create a team, the group must have at least one owner. If the group was created less than 15 minutes ago, calls to create a team might fail with a 404 Not Found error because the group information didn't fully replicate.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Team>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/team-put-teams?view=graph-rest-beta|Find more info here}
     */
    put(body: Team, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<Team | undefined>;
    /**
     * Delete navigation property team for groups
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * The team associated with this group.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<TeamRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Create a new team from a group. In order to create a team, the group must have at least one owner. If the group was created less than 15 minutes ago, calls to create a team might fail with a 404 Not Found error because the group information didn't fully replicate.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPutRequestInformation(body: Team, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * The team associated with this group.
 */
export interface TeamRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const TeamRequestBuilderUriTemplate = "{+baseurl}/groups/{group%2Did}/team{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const TeamRequestBuilderNavigationMetadata: Record<Exclude<keyof TeamRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const TeamRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map