import { type PgColumnBuilderBase } from 'drizzle-orm/pg-core';
export type Operation = 'create' | 'read' | 'update' | 'delete';
export interface SecurityEntry {
    type: 'owner' | 'public' | 'admin' | 'authenticated';
    ownerField?: string;
    publicFields?: string[];
    operations?: Operation[];
    confirmedShared?: boolean;
}
/**
 * User-owned data table. Each row belongs to one user; only that user can
 * read/update/delete it. ownerField defaults to 'email' when a column named
 * 'email' exists in the schema; otherwise it must be specified explicitly.
 *
 * The TypeScript constraint pins ownerField to a real column key — typo or
 * column rename breaks the build, not production.
 */
export declare function ownerTable<TName extends string, TCols extends Record<string, PgColumnBuilderBase>>(name: TName, columns: TCols, opts?: {
    ownerField?: keyof TCols & string;
    publicFields?: (keyof TCols & string)[];
    operations?: Operation[];
}): import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: TName;
    schema: undefined;
    columns: { [Key in keyof TCols]: import("drizzle-orm/pg-core").PgColumn<{
        name: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["name"];
        tableName: TName;
        dataType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["dataType"];
        columnType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["columnType"];
        data: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T ? T extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T extends {
            $type: infer U;
        } ? U : T["data"] : never : never;
        driverParam: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["driverParam"];
        notNull: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_1 ? T_1 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_1 extends {
            notNull: true;
        } ? true : false : never : never;
        hasDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_2 ? T_2 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_2 extends {
            hasDefault: true;
        } ? true : false : never : never;
        isPrimaryKey: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_3 ? T_3 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_3 extends {
            isPrimaryKey: true;
        } ? true : false : never : never;
        isAutoincrement: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_4 ? T_4 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_4 extends {
            isAutoincrement: true;
        } ? true : false : never : never;
        hasRuntimeDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_5 ? T_5 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_5 extends {
            hasRuntimeDefault: true;
        } ? true : false : never : never;
        enumValues: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["enumValues"];
        baseColumn: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_6 ? T_6 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_6 extends {
            baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
        } ? import("drizzle-orm").Column<{
            name: U_1["_"]["name"];
            tableName: TName;
            dataType: U_1["_"]["dataType"];
            columnType: U_1["_"]["columnType"];
            data: U_1["_"] extends infer T_7 ? T_7 extends U_1["_"] ? T_7 extends {
                $type: infer U;
            } ? U : T_7["data"] : never : never;
            driverParam: U_1["_"]["driverParam"];
            notNull: U_1["_"] extends infer T_8 ? T_8 extends U_1["_"] ? T_8 extends {
                notNull: true;
            } ? true : false : never : never;
            hasDefault: U_1["_"] extends infer T_9 ? T_9 extends U_1["_"] ? T_9 extends {
                hasDefault: true;
            } ? true : false : never : never;
            isPrimaryKey: U_1["_"] extends infer T_10 ? T_10 extends U_1["_"] ? T_10 extends {
                isPrimaryKey: true;
            } ? true : false : never : never;
            isAutoincrement: U_1["_"] extends infer T_11 ? T_11 extends U_1["_"] ? T_11 extends {
                isAutoincrement: true;
            } ? true : false : never : never;
            hasRuntimeDefault: U_1["_"] extends infer T_12 ? T_12 extends U_1["_"] ? T_12 extends {
                hasRuntimeDefault: true;
            } ? true : false : never : never;
            enumValues: U_1["_"]["enumValues"];
            baseColumn: U_1["_"] extends infer T_13 ? T_13 extends U_1["_"] ? T_13 extends {
                baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
            } ? import("drizzle-orm").Column</*elided*/ any, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_14 ? { [K in keyof T_14]: T_14[K]; } : never> : never : never : never;
            identity: U_1["_"] extends infer T_15 ? T_15 extends U_1["_"] ? T_15 extends {
                identity: "always";
            } ? "always" : T_15 extends {
                identity: "byDefault";
            } ? "byDefault" : undefined : never : never;
            generated: U_1["_"] extends infer T_16 ? T_16 extends U_1["_"] ? T_16 extends {
                generated: infer G;
            } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
        }, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_17 ? { [K in keyof T_17]: T_17[K]; } : never> : never : never : never;
        identity: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_18 ? T_18 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_18 extends {
            identity: "always";
        } ? "always" : T_18 extends {
            identity: "byDefault";
        } ? "byDefault" : undefined : never : never;
        generated: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_19 ? T_19 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_19 extends {
            generated: infer G;
        } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
    }, {}, Omit<Omit<TCols[Key]["_"], "name"> & {
        name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
    }, "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_20 ? { [K_1 in keyof T_20]: T_20[K_1]; } : never>; };
    dialect: "pg";
}>;
/**
 * Anonymously-readable table — blog posts, product catalogs, marketing content.
 * Defaults to read-only because public-write tables are almost always wrong;
 * pass operations: ['read', 'create'] explicitly when you really need writes.
 */
export declare function publicTable<TName extends string, TCols extends Record<string, PgColumnBuilderBase>>(name: TName, columns: TCols, opts?: {
    operations?: Operation[];
}): import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: TName;
    schema: undefined;
    columns: { [Key in keyof TCols]: import("drizzle-orm/pg-core").PgColumn<{
        name: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["name"];
        tableName: TName;
        dataType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["dataType"];
        columnType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["columnType"];
        data: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T ? T extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T extends {
            $type: infer U;
        } ? U : T["data"] : never : never;
        driverParam: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["driverParam"];
        notNull: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_1 ? T_1 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_1 extends {
            notNull: true;
        } ? true : false : never : never;
        hasDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_2 ? T_2 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_2 extends {
            hasDefault: true;
        } ? true : false : never : never;
        isPrimaryKey: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_3 ? T_3 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_3 extends {
            isPrimaryKey: true;
        } ? true : false : never : never;
        isAutoincrement: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_4 ? T_4 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_4 extends {
            isAutoincrement: true;
        } ? true : false : never : never;
        hasRuntimeDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_5 ? T_5 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_5 extends {
            hasRuntimeDefault: true;
        } ? true : false : never : never;
        enumValues: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["enumValues"];
        baseColumn: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_6 ? T_6 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_6 extends {
            baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
        } ? import("drizzle-orm").Column<{
            name: U_1["_"]["name"];
            tableName: TName;
            dataType: U_1["_"]["dataType"];
            columnType: U_1["_"]["columnType"];
            data: U_1["_"] extends infer T_7 ? T_7 extends U_1["_"] ? T_7 extends {
                $type: infer U;
            } ? U : T_7["data"] : never : never;
            driverParam: U_1["_"]["driverParam"];
            notNull: U_1["_"] extends infer T_8 ? T_8 extends U_1["_"] ? T_8 extends {
                notNull: true;
            } ? true : false : never : never;
            hasDefault: U_1["_"] extends infer T_9 ? T_9 extends U_1["_"] ? T_9 extends {
                hasDefault: true;
            } ? true : false : never : never;
            isPrimaryKey: U_1["_"] extends infer T_10 ? T_10 extends U_1["_"] ? T_10 extends {
                isPrimaryKey: true;
            } ? true : false : never : never;
            isAutoincrement: U_1["_"] extends infer T_11 ? T_11 extends U_1["_"] ? T_11 extends {
                isAutoincrement: true;
            } ? true : false : never : never;
            hasRuntimeDefault: U_1["_"] extends infer T_12 ? T_12 extends U_1["_"] ? T_12 extends {
                hasRuntimeDefault: true;
            } ? true : false : never : never;
            enumValues: U_1["_"]["enumValues"];
            baseColumn: U_1["_"] extends infer T_13 ? T_13 extends U_1["_"] ? T_13 extends {
                baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
            } ? import("drizzle-orm").Column</*elided*/ any, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_14 ? { [K in keyof T_14]: T_14[K]; } : never> : never : never : never;
            identity: U_1["_"] extends infer T_15 ? T_15 extends U_1["_"] ? T_15 extends {
                identity: "always";
            } ? "always" : T_15 extends {
                identity: "byDefault";
            } ? "byDefault" : undefined : never : never;
            generated: U_1["_"] extends infer T_16 ? T_16 extends U_1["_"] ? T_16 extends {
                generated: infer G;
            } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
        }, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_17 ? { [K in keyof T_17]: T_17[K]; } : never> : never : never : never;
        identity: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_18 ? T_18 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_18 extends {
            identity: "always";
        } ? "always" : T_18 extends {
            identity: "byDefault";
        } ? "byDefault" : undefined : never : never;
        generated: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_19 ? T_19 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_19 extends {
            generated: infer G;
        } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
    }, {}, Omit<Omit<TCols[Key]["_"], "name"> & {
        name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
    }, "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_20 ? { [K_1 in keyof T_20]: T_20[K_1]; } : never>; };
    dialect: "pg";
}>;
/**
 * Admin-only table — review queues, audit logs, moderation surfaces.
 * Enforced by user.role === 'admin' on every CRUD operation. Pair with
 * seeding the builder's email as role: 'admin' in seed.ts.
 */
export declare function adminTable<TName extends string, TCols extends Record<string, PgColumnBuilderBase>>(name: TName, columns: TCols, opts?: {
    operations?: Operation[];
}): import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: TName;
    schema: undefined;
    columns: { [Key in keyof TCols]: import("drizzle-orm/pg-core").PgColumn<{
        name: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["name"];
        tableName: TName;
        dataType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["dataType"];
        columnType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["columnType"];
        data: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T ? T extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T extends {
            $type: infer U;
        } ? U : T["data"] : never : never;
        driverParam: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["driverParam"];
        notNull: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_1 ? T_1 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_1 extends {
            notNull: true;
        } ? true : false : never : never;
        hasDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_2 ? T_2 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_2 extends {
            hasDefault: true;
        } ? true : false : never : never;
        isPrimaryKey: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_3 ? T_3 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_3 extends {
            isPrimaryKey: true;
        } ? true : false : never : never;
        isAutoincrement: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_4 ? T_4 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_4 extends {
            isAutoincrement: true;
        } ? true : false : never : never;
        hasRuntimeDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_5 ? T_5 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_5 extends {
            hasRuntimeDefault: true;
        } ? true : false : never : never;
        enumValues: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["enumValues"];
        baseColumn: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_6 ? T_6 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_6 extends {
            baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
        } ? import("drizzle-orm").Column<{
            name: U_1["_"]["name"];
            tableName: TName;
            dataType: U_1["_"]["dataType"];
            columnType: U_1["_"]["columnType"];
            data: U_1["_"] extends infer T_7 ? T_7 extends U_1["_"] ? T_7 extends {
                $type: infer U;
            } ? U : T_7["data"] : never : never;
            driverParam: U_1["_"]["driverParam"];
            notNull: U_1["_"] extends infer T_8 ? T_8 extends U_1["_"] ? T_8 extends {
                notNull: true;
            } ? true : false : never : never;
            hasDefault: U_1["_"] extends infer T_9 ? T_9 extends U_1["_"] ? T_9 extends {
                hasDefault: true;
            } ? true : false : never : never;
            isPrimaryKey: U_1["_"] extends infer T_10 ? T_10 extends U_1["_"] ? T_10 extends {
                isPrimaryKey: true;
            } ? true : false : never : never;
            isAutoincrement: U_1["_"] extends infer T_11 ? T_11 extends U_1["_"] ? T_11 extends {
                isAutoincrement: true;
            } ? true : false : never : never;
            hasRuntimeDefault: U_1["_"] extends infer T_12 ? T_12 extends U_1["_"] ? T_12 extends {
                hasRuntimeDefault: true;
            } ? true : false : never : never;
            enumValues: U_1["_"]["enumValues"];
            baseColumn: U_1["_"] extends infer T_13 ? T_13 extends U_1["_"] ? T_13 extends {
                baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
            } ? import("drizzle-orm").Column</*elided*/ any, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_14 ? { [K in keyof T_14]: T_14[K]; } : never> : never : never : never;
            identity: U_1["_"] extends infer T_15 ? T_15 extends U_1["_"] ? T_15 extends {
                identity: "always";
            } ? "always" : T_15 extends {
                identity: "byDefault";
            } ? "byDefault" : undefined : never : never;
            generated: U_1["_"] extends infer T_16 ? T_16 extends U_1["_"] ? T_16 extends {
                generated: infer G;
            } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
        }, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_17 ? { [K in keyof T_17]: T_17[K]; } : never> : never : never : never;
        identity: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_18 ? T_18 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_18 extends {
            identity: "always";
        } ? "always" : T_18 extends {
            identity: "byDefault";
        } ? "byDefault" : undefined : never : never;
        generated: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_19 ? T_19 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_19 extends {
            generated: infer G;
        } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
    }, {}, Omit<Omit<TCols[Key]["_"], "name"> & {
        name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
    }, "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_20 ? { [K_1 in keyof T_20]: T_20[K_1]; } : never>; };
    dialect: "pg";
}>;
/**
 * Genuinely cross-user shared table — one company-wide feed, global
 * announcements. Requires { confirmed: true } so the cross-user share is an
 * explicit choice, not an accident. The literal `true` doubles as the
 * machine-readable confirmedShared flag the validator checks.
 */
export declare function sharedTable<TName extends string, TCols extends Record<string, PgColumnBuilderBase>>(name: TName, columns: TCols, opts: {
    confirmed: true;
    operations?: Operation[];
}): import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: TName;
    schema: undefined;
    columns: { [Key in keyof TCols]: import("drizzle-orm/pg-core").PgColumn<{
        name: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["name"];
        tableName: TName;
        dataType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["dataType"];
        columnType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["columnType"];
        data: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T ? T extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T extends {
            $type: infer U;
        } ? U : T["data"] : never : never;
        driverParam: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["driverParam"];
        notNull: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_1 ? T_1 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_1 extends {
            notNull: true;
        } ? true : false : never : never;
        hasDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_2 ? T_2 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_2 extends {
            hasDefault: true;
        } ? true : false : never : never;
        isPrimaryKey: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_3 ? T_3 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_3 extends {
            isPrimaryKey: true;
        } ? true : false : never : never;
        isAutoincrement: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_4 ? T_4 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_4 extends {
            isAutoincrement: true;
        } ? true : false : never : never;
        hasRuntimeDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_5 ? T_5 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_5 extends {
            hasRuntimeDefault: true;
        } ? true : false : never : never;
        enumValues: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["enumValues"];
        baseColumn: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_6 ? T_6 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_6 extends {
            baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
        } ? import("drizzle-orm").Column<{
            name: U_1["_"]["name"];
            tableName: TName;
            dataType: U_1["_"]["dataType"];
            columnType: U_1["_"]["columnType"];
            data: U_1["_"] extends infer T_7 ? T_7 extends U_1["_"] ? T_7 extends {
                $type: infer U;
            } ? U : T_7["data"] : never : never;
            driverParam: U_1["_"]["driverParam"];
            notNull: U_1["_"] extends infer T_8 ? T_8 extends U_1["_"] ? T_8 extends {
                notNull: true;
            } ? true : false : never : never;
            hasDefault: U_1["_"] extends infer T_9 ? T_9 extends U_1["_"] ? T_9 extends {
                hasDefault: true;
            } ? true : false : never : never;
            isPrimaryKey: U_1["_"] extends infer T_10 ? T_10 extends U_1["_"] ? T_10 extends {
                isPrimaryKey: true;
            } ? true : false : never : never;
            isAutoincrement: U_1["_"] extends infer T_11 ? T_11 extends U_1["_"] ? T_11 extends {
                isAutoincrement: true;
            } ? true : false : never : never;
            hasRuntimeDefault: U_1["_"] extends infer T_12 ? T_12 extends U_1["_"] ? T_12 extends {
                hasRuntimeDefault: true;
            } ? true : false : never : never;
            enumValues: U_1["_"]["enumValues"];
            baseColumn: U_1["_"] extends infer T_13 ? T_13 extends U_1["_"] ? T_13 extends {
                baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
            } ? import("drizzle-orm").Column</*elided*/ any, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_14 ? { [K in keyof T_14]: T_14[K]; } : never> : never : never : never;
            identity: U_1["_"] extends infer T_15 ? T_15 extends U_1["_"] ? T_15 extends {
                identity: "always";
            } ? "always" : T_15 extends {
                identity: "byDefault";
            } ? "byDefault" : undefined : never : never;
            generated: U_1["_"] extends infer T_16 ? T_16 extends U_1["_"] ? T_16 extends {
                generated: infer G;
            } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
        }, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_17 ? { [K in keyof T_17]: T_17[K]; } : never> : never : never : never;
        identity: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_18 ? T_18 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_18 extends {
            identity: "always";
        } ? "always" : T_18 extends {
            identity: "byDefault";
        } ? "byDefault" : undefined : never : never;
        generated: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_19 ? T_19 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_19 extends {
            generated: infer G;
        } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
    }, {}, Omit<Omit<TCols[Key]["_"], "name"> & {
        name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
    }, "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_20 ? { [K_1 in keyof T_20]: T_20[K_1]; } : never>; };
    dialect: "pg";
}>;
/**
 * The Flavo Auth users table — apply the canonical self-only config in one
 * call. publicFields gates which columns are surfaced through with[author]
 * relation joins on content tables; pass extraPublicFields to expose your
 * own additions (e.g. 'bio', 'tagline') without rewriting the canonical set.
 */
export declare function userTable<TCols extends Record<string, PgColumnBuilderBase>>(columns: TCols, opts?: {
    extraPublicFields?: (keyof TCols & string)[];
}): import("drizzle-orm/pg-core").PgTableWithColumns<{
    name: "users";
    schema: undefined;
    columns: { [Key in keyof TCols]: import("drizzle-orm/pg-core").PgColumn<{
        name: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["name"];
        tableName: "users";
        dataType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["dataType"];
        columnType: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["columnType"];
        data: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T ? T extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T extends {
            $type: infer U;
        } ? U : T["data"] : never : never;
        driverParam: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["driverParam"];
        notNull: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_1 ? T_1 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_1 extends {
            notNull: true;
        } ? true : false : never : never;
        hasDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_2 ? T_2 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_2 extends {
            hasDefault: true;
        } ? true : false : never : never;
        isPrimaryKey: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_3 ? T_3 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_3 extends {
            isPrimaryKey: true;
        } ? true : false : never : never;
        isAutoincrement: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_4 ? T_4 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_4 extends {
            isAutoincrement: true;
        } ? true : false : never : never;
        hasRuntimeDefault: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_5 ? T_5 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_5 extends {
            hasRuntimeDefault: true;
        } ? true : false : never : never;
        enumValues: (Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        })["enumValues"];
        baseColumn: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_6 ? T_6 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_6 extends {
            baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
        } ? import("drizzle-orm").Column<{
            name: U_1["_"]["name"];
            tableName: "users";
            dataType: U_1["_"]["dataType"];
            columnType: U_1["_"]["columnType"];
            data: U_1["_"] extends infer T_7 ? T_7 extends U_1["_"] ? T_7 extends {
                $type: infer U;
            } ? U : T_7["data"] : never : never;
            driverParam: U_1["_"]["driverParam"];
            notNull: U_1["_"] extends infer T_8 ? T_8 extends U_1["_"] ? T_8 extends {
                notNull: true;
            } ? true : false : never : never;
            hasDefault: U_1["_"] extends infer T_9 ? T_9 extends U_1["_"] ? T_9 extends {
                hasDefault: true;
            } ? true : false : never : never;
            isPrimaryKey: U_1["_"] extends infer T_10 ? T_10 extends U_1["_"] ? T_10 extends {
                isPrimaryKey: true;
            } ? true : false : never : never;
            isAutoincrement: U_1["_"] extends infer T_11 ? T_11 extends U_1["_"] ? T_11 extends {
                isAutoincrement: true;
            } ? true : false : never : never;
            hasRuntimeDefault: U_1["_"] extends infer T_12 ? T_12 extends U_1["_"] ? T_12 extends {
                hasRuntimeDefault: true;
            } ? true : false : never : never;
            enumValues: U_1["_"]["enumValues"];
            baseColumn: U_1["_"] extends infer T_13 ? T_13 extends U_1["_"] ? T_13 extends {
                baseBuilder: infer U_1 extends import("drizzle-orm").ColumnBuilderBase;
            } ? import("drizzle-orm").Column</*elided*/ any, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_14 ? { [K in keyof T_14]: T_14[K]; } : never> : never : never : never;
            identity: U_1["_"] extends infer T_15 ? T_15 extends U_1["_"] ? T_15 extends {
                identity: "always";
            } ? "always" : T_15 extends {
                identity: "byDefault";
            } ? "byDefault" : undefined : never : never;
            generated: U_1["_"] extends infer T_16 ? T_16 extends U_1["_"] ? T_16 extends {
                generated: infer G;
            } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
        }, {}, Omit<U_1["_"], "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_17 ? { [K in keyof T_17]: T_17[K]; } : never> : never : never : never;
        identity: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_18 ? T_18 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_18 extends {
            identity: "always";
        } ? "always" : T_18 extends {
            identity: "byDefault";
        } ? "byDefault" : undefined : never : never;
        generated: Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } extends infer T_19 ? T_19 extends Omit<TCols[Key]["_"], "name"> & {
            name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
        } ? T_19 extends {
            generated: infer G;
        } ? unknown extends G ? undefined : G extends undefined ? undefined : G : undefined : never : never;
    }, {}, Omit<Omit<TCols[Key]["_"], "name"> & {
        name: TCols[Key]["_"]["name"] extends "" ? import("drizzle-orm").Assume<Key, string> : TCols[Key]["_"]["name"];
    }, "name" | "brand" | "dataType" | "columnType" | "data" | "driverParam" | "notNull" | "hasDefault" | "enumValues" | "identity" | "generated" | "dialect" | "tableName" | "isPrimaryKey" | "isAutoincrement" | "hasRuntimeDefault" | "baseColumn"> extends infer T_20 ? { [K_1 in keyof T_20]: T_20[K_1]; } : never>; };
    dialect: "pg";
}>;
/**
 * Snapshot of the security registry for the host's extract script.
 * Returned shape matches fastfold.security.json exactly so the host can
 * write it to disk without transformation.
 */
export declare function getSecurityRegistry(): {
    tables: Record<string, SecurityEntry>;
};
/**
 * Reset the registry — only used by tests. Production never imports
 * schema.ts twice in the same process so this is otherwise unnecessary.
 */
export declare function __resetSecurityRegistry(): void;
//# sourceMappingURL=schema-wrappers.d.ts.map