import { Client, ClientOptions } from '@microsoft/teams.common/http';
import { SignInUrlResponse } from '../../models/sign-in/sign-in-url-response.js';
import { ApiClientSettings } from '../api-client-settings.js';
import '../../models/token/token-post-resource.js';
import '../../models/token-exchange/token-exchange-resource.js';
import '../../auth/cloud-environment.js';

declare const BOT_SIGNIN_ENDPOINTS: {
    URL: string;
    RESOURCE: string;
};
type GetBotSignInUrlParams = {
    state: string;
    codeChallenge?: string;
    emulatorUrl?: string;
    finalRedirect?: string;
};
type GetBotSignInResourceParams = {
    state: string;
    codeChallenge?: string;
    emulatorUrl?: string;
    finalRedirect?: string;
};
declare class BotSignInClient {
    get http(): Client;
    set http(v: Client);
    protected _http: Client;
    protected _apiClientSettings: Partial<ApiClientSettings>;
    constructor(options?: Client | ClientOptions, apiClientSettings?: Partial<ApiClientSettings>);
    getUrl(params: GetBotSignInUrlParams): Promise<string>;
    getResource(params: GetBotSignInResourceParams): Promise<SignInUrlResponse>;
}

export { BOT_SIGNIN_ENDPOINTS, BotSignInClient, type GetBotSignInResourceParams, type GetBotSignInUrlParams };
