import { ApiKeyStore } from "../auth/store"; import { type SecretsBridgeClient, type SecretsBridgeClientOptions } from "./secrets-bridge"; type IssueKeyStore = Pick & Partial>; type IssueKeyStoreHandle = { store: IssueKeyStore; close: () => Promise; }; type IssueKeyConnectStore = (connectionString: string, table: string) => Promise; type IssueKeySecretsClient = Pick & Partial>; type SecretsServiceConfig = Required>; type IssueKeyConnectSecrets = (config: SecretsServiceConfig) => Promise; export interface IssueKeyDeps { report: (options: { json?: boolean; }, error: string, details?: Record) => void; env?: NodeJS.ProcessEnv; now?: () => number; connectStore?: IssueKeyConnectStore; connectSecrets?: IssueKeyConnectSecrets; } /** Resolve the signing-secret env var name (never the value) for messages. */ export declare function signingSecretEnvName(app: string, override?: string): string; /** Resolve the database-url env var name for the record store. */ export declare function databaseUrlEnvName(app: string, override?: string): string; export declare function runIssueKey(options: Record, deps: IssueKeyDeps): Promise; export {};