export interface TokenStore {
    saveToken(serviceId: string, account: string, token: any): Promise<boolean>;
    getToken(serviceId: string, account: string): Promise<any>;
    deleteToken(serviceId: string, account: string): Promise<boolean>;
}
export interface OAuth2Config {
    grantType: 'client_credentials' | 'password';
    accessTokenUrl: string;
    clientId?: string;
    clientSecret?: string;
    username?: string;
    password?: string;
    scope?: string;
    credentialsPlacement?: 'header' | 'body';
}
/**
 * Manages OAuth2 token retrieval and storage
 */
export declare const getOAuth2Token: (oauth2Config: OAuth2Config, tokenStore: TokenStore) => Promise<string | null>;
