///
import { M365TokenProvider, LogProvider, FxError, Result, SensitivityLabel } from "@microsoft/teamsfx-api";
import { GetTeamsAppSettingsResponse } from "./interfaces/GetTeamsAppSettingsResponse";
import { GetJoinedTeamsResponse } from "./interfaces/GetJoinedTeamsResponse";
import { GetChannelResponse } from "./interfaces/GetChannelResponse";
import { CreateChannelResponse } from "./interfaces/CreateChannelResponse";
import { CreateTeamAndChannelResponse } from "./interfaces/CreateTeamAndChannelResponse";
import { GetAppInstallationResponse } from "./interfaces/GetAppInstallationResponse";
export declare class RetryHandler {
static RETRIES: number;
static Retry(fn: () => Promise): Promise;
}
export declare class GraphClient {
private readonly baseUrl;
private readonly tokenProvider;
private readonly logProvider;
constructor(tokenProvider: M365TokenProvider, logProvider?: LogProvider);
private createRequesterWithToken;
listSensitivityLabels(token: string, useCache?: boolean): Promise>;
getGeneralSentivityLabel(token: string): Promise>;
private buildCacheKey;
/**
* Get sandboxing configuration of team app settings.
* @returns
*/
GetTeamsAppSettingsAsync(): Promise;
GetJoinedSandboxedTeamsAsync(): Promise;
/**
* Get weburl of a channel.
* @param teamId
* @param channelId
* @returns
*/
GetChannelDeeplinkAsync(teamId: string, channelId: string): Promise;
/**
* Install Teams app package into a channel.
* @param teamId
* @param channelId
* @param file Teams app package zip file
*/
InstallAppToChannelAsync(teamId: string, channelId: string, file: Buffer): Promise;
/**
* Get installed apps in a team.
* @param teamId
* @returns An array of installed apps, the externalId is the Teams app id.
*/
GetAppInstallationForTeam(teamId: string): Promise;
DeleteInstalledApp(teamId: string, installationId: string): Promise;
/**
* Create a sandboxed team and a channel.
* @param teamName Team name
* @param description Team description
* @param defaultChannelName Channel name
* @returns
*/
CreateTeamAndChannelAsync(teamName: string, description: string, defaultChannelName: string): Promise;
CreateChannelAsync(teamId: string, channelName: string, description: string): Promise;
/**
* List channels in a team
* @param teamId Team ID
* @returns A list of channels, with id and webUrl
*/
GetChannelsInTeamAsync(teamId: string): Promise;
/**
* Get current user info
* @returns unique name and tenant id in string array
*/
getCurrentUserInfo(): Promise;
}
//# sourceMappingURL=graphClient.d.ts.map