import type { SecretsRepository } from "../subgraphs/vetra-cloud-secrets/repository.js";
/**
 * Resolve the Postgres schema name for the given reactor namespace.
 *
 * Reactor-api hashes the human-readable namespace ("vetra-cloud-secrets")
 * to a fixed-length lowercase base-26 string and uses that as the schema
 * name. The standalone controller doesn't have access to the reactor-api
 * runtime — but it needs to read from the same schema — so we recompute
 * the hash directly using the shared package's `hashNamespace`.
 */
export declare function resolveSchema(namespace: string): string;
export interface OwnedRepository extends SecretsRepository {
    readonly schema: string;
    close(): Promise<void>;
}
/**
 * Build a `SecretsRepository` backed by a fresh Postgres pool the
 * controller fully owns (vs. the subgraph case which reuses the
 * reactor-api kysely). Returns the repo plus a `close()` for graceful
 * shutdown.
 */
export declare function createOwnedRepository(opts: {
    databaseUrl: string;
    namespace: string;
}): OwnedRepository;
//# sourceMappingURL=db.d.ts.map