import { TransactionalDatabase, Transaction } from '@platform-modules/db';

type RunInTenantOptions = {
    gucName?: string;
    role?: string;
};
declare function runInTenant<S extends Record<string, unknown>, T>(db: TransactionalDatabase<S>, tenantId: string, fn: (scoped: Transaction<S>) => Promise<T>, opts?: RunInTenantOptions): Promise<T>;
type TenantPolicyDDLOptions = {
    column?: string;
    gucName?: string;
    force?: boolean;
};
declare function tenantPolicyDDL(tableName: string, opts?: TenantPolicyDDLOptions): string[];

export { type RunInTenantOptions, type TenantPolicyDDLOptions, runInTenant, tenantPolicyDDL };
