import { z } from 'zod'; export declare enum ColumnType { STRING = "string", DATE = "date", DATETIME = "datetime", INTEGER = "integer", FLOAT = "float", BOOLEAN = "boolean", UUID = "uuid", JSON = "json" } export declare const onUpdateActionSchema: z.ZodEnum<["CASCADE", "RESTRICT", "NO ACTION"]>; export declare const onDeleteActionSchema: z.ZodEnum<["CASCADE", "SET NULL", "SET DEFAULT", "RESTRICT", "NO ACTION"]>; export declare const columnTypeSchema: z.ZodEnum<[ColumnType.STRING, ColumnType.DATE, ColumnType.DATETIME, ColumnType.INTEGER, ColumnType.FLOAT, ColumnType.BOOLEAN, ColumnType.UUID, ColumnType.JSON]>; export declare const foreignKeySchema: z.ZodObject<{ referenceTable: z.ZodString; referenceColumn: z.ZodString; onDelete: z.ZodEnum<["CASCADE", "SET NULL", "SET DEFAULT", "RESTRICT", "NO ACTION"]>; onUpdate: z.ZodEnum<["CASCADE", "RESTRICT", "NO ACTION"]>; }, "strip", z.ZodTypeAny, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }>; export declare const columnSchema: z.ZodObject<{ columnName: z.ZodString; type: z.ZodUnion<[z.ZodEnum<[ColumnType.STRING, ColumnType.DATE, ColumnType.DATETIME, ColumnType.INTEGER, ColumnType.FLOAT, ColumnType.BOOLEAN, ColumnType.UUID, ColumnType.JSON]>, z.ZodString]>; defaultValue: z.ZodOptional; isPrimaryKey: z.ZodOptional; isNullable: z.ZodBoolean; isUnique: z.ZodBoolean; foreignKey: z.ZodOptional; onUpdate: z.ZodEnum<["CASCADE", "RESTRICT", "NO ACTION"]>; }, "strip", z.ZodTypeAny, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }>>; }, "strip", z.ZodTypeAny, { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }, { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }>; export declare const tableSchema: z.ZodObject<{ schemaName: z.ZodOptional; tableName: z.ZodString; columns: z.ZodArray, z.ZodString]>; defaultValue: z.ZodOptional; isPrimaryKey: z.ZodOptional; isNullable: z.ZodBoolean; isUnique: z.ZodBoolean; foreignKey: z.ZodOptional; onUpdate: z.ZodEnum<["CASCADE", "RESTRICT", "NO ACTION"]>; }, "strip", z.ZodTypeAny, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }, { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; }>>; }, "strip", z.ZodTypeAny, { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }, { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }>, "many">; recordCount: z.ZodOptional; createdAt: z.ZodOptional; updatedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { tableName: string; columns: { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }[]; createdAt?: string | undefined; updatedAt?: string | undefined; schemaName?: string | undefined; recordCount?: number | undefined; }, { tableName: string; columns: { type: string; columnName: string; isNullable: boolean; isUnique: boolean; defaultValue?: string | undefined; isPrimaryKey?: boolean | undefined; foreignKey?: { referenceTable: string; referenceColumn: string; onDelete: "CASCADE" | "RESTRICT" | "NO ACTION" | "SET NULL" | "SET DEFAULT"; onUpdate: "CASCADE" | "RESTRICT" | "NO ACTION"; } | undefined; }[]; createdAt?: string | undefined; updatedAt?: string | undefined; schemaName?: string | undefined; recordCount?: number | undefined; }>; export type TableSchema = z.infer; export type ColumnSchema = z.infer; export type ForeignKeySchema = z.infer; export type OnUpdateActionSchema = z.infer; export type OnDeleteActionSchema = z.infer; export declare const databaseSchemaInfoSchema: z.ZodObject<{ name: z.ZodString; isProtected: z.ZodBoolean; }, "strip", z.ZodTypeAny, { name: string; isProtected: boolean; }, { name: string; isProtected: boolean; }>; export type DatabaseSchemaInfo = z.infer; export declare const databaseFunctionSchema: z.ZodObject<{ functionName: z.ZodString; functionDef: z.ZodString; kind: z.ZodString; }, "strip", z.ZodTypeAny, { functionName: string; functionDef: string; kind: string; }, { functionName: string; functionDef: string; kind: string; }>; export declare const databaseIndexSchema: z.ZodObject<{ tableName: z.ZodString; indexName: z.ZodString; indexDef: z.ZodString; isUnique: z.ZodNullable; isPrimary: z.ZodNullable; }, "strip", z.ZodTypeAny, { isUnique: boolean | null; tableName: string; indexName: string; indexDef: string; isPrimary: boolean | null; }, { isUnique: boolean | null; tableName: string; indexName: string; indexDef: string; isPrimary: boolean | null; }>; export declare const databasePolicySchema: z.ZodObject<{ tableName: z.ZodString; policyName: z.ZodString; cmd: z.ZodString; roles: z.ZodArray; qual: z.ZodNullable; withCheck: z.ZodNullable; }, "strip", z.ZodTypeAny, { tableName: string; policyName: string; cmd: string; roles: string[]; qual: string | null; withCheck: string | null; }, { tableName: string; policyName: string; cmd: string; roles: string[]; qual: string | null; withCheck: string | null; }>; export declare const databaseTriggerSchema: z.ZodObject<{ tableName: z.ZodString; triggerName: z.ZodString; actionTiming: z.ZodString; eventManipulation: z.ZodString; actionOrientation: z.ZodString; actionCondition: z.ZodNullable; actionStatement: z.ZodString; }, "strip", z.ZodTypeAny, { tableName: string; triggerName: string; actionTiming: string; eventManipulation: string; actionOrientation: string; actionCondition: string | null; actionStatement: string; }, { tableName: string; triggerName: string; actionTiming: string; eventManipulation: string; actionOrientation: string; actionCondition: string | null; actionStatement: string; }>; export declare const migrationSchema: z.ZodObject<{ version: z.ZodString; name: z.ZodString; statements: z.ZodArray; createdAt: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; createdAt: string; version: string; statements: string[]; }, { name: string; createdAt: string; version: string; statements: string[]; }>; export type DatabaseFunction = z.infer; export type DatabaseIndex = z.infer; export type DatabasePolicy = z.infer; export type DatabaseTrigger = z.infer; export type Migration = z.infer; //# sourceMappingURL=database.schema.d.ts.map