import { Event } from "../../../../base/common/event.js";
import { IAuthorizationTokenResponse } from "../../../../base/common/oauth.js";
import { DynamicAuthenticationProviderTokensChangeEvent, DynamicAuthenticationProviderInfo } from "./dynamicAuthenticationProviderStorage.js";
export declare const IDynamicAuthenticationProviderStorageService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<IDynamicAuthenticationProviderStorageService>;
export interface IDynamicAuthenticationProviderStorageService {
    readonly _serviceBrand: undefined;
    readonly onDidChangeTokens: Event<DynamicAuthenticationProviderTokensChangeEvent>;
    getClientId(providerId: string): string | undefined;
    storeClientId(providerId: string, authorizationServer: string, clientId: string, label?: string): void;
    getInteractedProviders(): ReadonlyArray<DynamicAuthenticationProviderInfo>;
    removeDynamicProvider(providerId: string): Promise<void>;
    getSessionsForDynamicAuthProvider(authProviderId: string, clientId: string): Promise<(IAuthorizationTokenResponse & {
        created_at: number;
    })[] | undefined>;
    setSessionsForDynamicAuthProvider(authProviderId: string, clientId: string, sessions: (IAuthorizationTokenResponse & {
        created_at: number;
    })[]): Promise<void>;
}
