import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `api_key_owner_tombstones` table. */ export type Table = db_Schema.ApiKeyOwnerTombstone; /** Returns whether an organization or its attributed project has been deleted. */ export declare function isDeleted(db: Db.Db, owner: Owner): Promise; /** Records a permanent owner deletion fence in the caller's transaction. */ export declare function markDeleted(db: Db.Db, owner: Owner): Promise; /** Holds shared owner locks and returns whether neither owner fence exists. */ export declare function lockActive(db: Db.Db, owner: Owner): Promise; /** Holds shared locks for every owner and returns whether none has a deletion fence. */ export declare function lockActiveMany(db: Db.Db, owners: readonly Owner[]): Promise; /** API-key owner attribution checked by the deletion fence. */ export type Owner = { /** Owning organization id. */ orgId: string; /** Project id when the fence applies only to one project. */ projectId?: string | undefined; }; //# sourceMappingURL=apiKeyOwnerTombstones.d.ts.map