import type { GenesisAuthConfig, GenesisAuthResult, GenesisIdentity, UpstreamIdentitySigningKey } from './types.ts';
export declare function resolveProjectId(configured?: string): string;
export type GenesisAuth = {
    ensureReady: () => Promise<void>;
    authenticate: (request: Request) => Promise<GenesisAuthResult>;
    getSigningKey: () => UpstreamIdentitySigningKey | null;
};
export declare function createGenesisAuth(config?: GenesisAuthConfig): GenesisAuth;
/** Authenticate or throw `GenesisAuthError`. */
export declare function requireGenesisIdentity(auth: GenesisAuth, request: Request): Promise<GenesisIdentity>;
//# sourceMappingURL=create-auth.d.ts.map