import { WebTokenManipulator } from './web-token-manipulator';
import { JwtTokenBase } from '@bitblit/ratchet/common';
export declare class GoogleWebTokenManipulator implements WebTokenManipulator<JwtTokenBase> {
    private clientId;
    private static readonly GOOGLE_DISCOVERY_DOCUMENT;
    private cacheGoogleDiscoveryDocument;
    private jwksClient;
    constructor(clientId: string);
    extractTokenFromAuthorizationHeader<T extends JwtTokenBase>(authHeader: string): Promise<JwtTokenBase>;
    parseAndValidateGoogleToken<T extends JwtTokenBase>(googleToken: string, allowExpired?: boolean): Promise<JwtTokenBase>;
    private fetchSigningKey;
    private fetchJwksClient;
    private fetchGoogleDiscoveryDocument;
}
