export interface GoogleOAuthAccessToken { access_token: string; expires_in: number; } export interface Credential { getProjectId(): Promise; getServiceAccountEmail(): Promise; getAccessToken(forceRefresh?: boolean): Promise; } export interface ServiceAccount { projectId: string; privateKey: string; clientEmail: string; } export declare class ServiceAccountCredential implements Credential { readonly projectId: string; readonly privateKey: string; readonly clientEmail: string; constructor(serviceAccount: ServiceAccount); private fetchAccessToken; getProjectId(): Promise; getServiceAccountEmail(): Promise; private fetchAndCacheAccessToken; getAccessToken(forceRefresh: boolean): Promise; private createJwt; } export declare function getExplicitProjectId(): string | null; export declare class ComputeEngineCredential implements Credential { private projectId?; private accountId?; private cachedToken?; constructor(); getAccessToken(forceRefresh?: boolean): Promise; getIDToken(audience: string): Promise; getProjectId(): Promise; getServiceAccountEmail(): Promise; private buildRequest; } export interface FirebaseAccessToken { accessToken: string; expirationTime: number; } export declare const getFirebaseAdminTokenProvider: (credential: Credential) => { getToken: (forceRefresh?: boolean) => Promise; };