import type { AuthenticationGetSessionOptions, AuthenticationSession } from 'vscode';
import { IConfigurationService } from '../../configuration/common/configurationService';
import { ILogService } from '../../log/common/logService';
import { BaseAuthenticationService, IAuthenticationService, StrictAuthenticationPresentationOptions } from './authentication';
import { CopilotToken } from './copilotToken';
import { ICopilotTokenManager } from './copilotTokenManager';
import { ICopilotTokenStore } from './copilotTokenStore';
export declare class StaticGitHubAuthenticationService extends BaseAuthenticationService {
    private readonly tokenProvider;
    constructor(tokenProvider: {
        (): string;
    } | undefined, logService: ILogService, tokenStore: ICopilotTokenStore, tokenManager: ICopilotTokenManager, configurationService: IConfigurationService);
    getGitHubSession(kind: 'permissive' | 'any', options: AuthenticationGetSessionOptions & {
        createIfNone: StrictAuthenticationPresentationOptions;
    }): Promise<AuthenticationSession>;
    getGitHubSession(kind: 'permissive' | 'any', options: AuthenticationGetSessionOptions & {
        forceNewSession: StrictAuthenticationPresentationOptions;
    }): Promise<AuthenticationSession>;
    getGitHubSession(kind: 'permissive' | 'any', options: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
    getCopilotToken(force?: boolean): Promise<CopilotToken>;
    setCopilotToken(token: CopilotToken): void;
    getAnyAdoSession(_options?: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
    getAdoAccessTokenBase64(options?: AuthenticationGetSessionOptions): Promise<string | undefined>;
}
export declare function setCopilotToken(authenticationService: IAuthenticationService, token: CopilotToken): void;
//# sourceMappingURL=staticGitHubAuthenticationService.d.ts.map