@flavoai/fastfold
Version:
Flavo frontend package
696 lines • 48.2 kB
TypeScript
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