import { JWTPayload } from 'jose'; import { Credential, ServiceAccountCredential } from '../credential.js'; export interface CryptoSigner { sign(payload: JWTPayload): Promise; getAccountId(): Promise; } export declare function createEmulatorToken(payload: JWTPayload): string; export declare class EmulatorSigner implements CryptoSigner { private readonly tenantId?; constructor(tenantId?: string | undefined); sign(payload: JWTPayload): Promise; getAccountId(): Promise; } export declare class ServiceAccountSigner implements CryptoSigner { private readonly credential; private readonly tenantId?; constructor(credential: ServiceAccountCredential, tenantId?: string | undefined); sign(payload: JWTPayload): Promise; getAccountId(): Promise; } export declare class IAMSigner implements CryptoSigner { algorithm: "RS256"; private credential; private tenantId?; private serviceAccountId?; constructor(credential: Credential, tenantId?: string, serviceAccountId?: string); sign(payload: JWTPayload): Promise; getAccountId(): Promise; }