import type { SchemaColumn } from './generate-helpers'; type SchemaTable = { name: string; serverName?: string; columns: Record; primaryKey: readonly string[]; }; type SchemaRelationHop = { sourceField: string[]; destField: string[]; destSchema: string; cardinality: 'one' | 'many'; }; type DrizzleZeroSchema = { tables: Record; relationships: Record>; }; /** * generate a typed schema.ts from drizzle-zero output. * produces a file using table()/createSchema()/relationships() from @rocicorp/zero * so the full type system works (no `relationships: any`). * */ export declare function generateDrizzleSchemaFile(schema: DrizzleZeroSchema): string; export interface GenerateOptions { /** base data directory */ dir: string; /** explicit on-zero.config.ts path; auto-discovered in `dir` when omitted */ config?: string; /** run after generation */ after?: string; /** suppress output */ silent?: boolean; /** ignore the generation cache */ force?: boolean; } export interface WatchOptions extends GenerateOptions { /** debounce delay in ms */ debounce?: number; } export interface GenerateResult { filesChanged: number; modelCount: number; schemaCount: number; queryCount: number; mutationCount: number; } export type DataMembership = { instances: Record; allTables: string[]; }; export declare function deriveDataMembership(options: { dir: string; config?: string; }): Promise; export declare function generateDrizzleSchemaInputFile(options: { dir: string; schemaImportPath: string; config?: string; }): Promise; export declare function generate(options: GenerateOptions): Promise; export declare function watch(options: WatchOptions): Promise; export {}; //# sourceMappingURL=generate.d.ts.map