import { z } from "zod"; /** * Validates that when 'required' is true, 'default' must be null */ export declare const validateRequiredDefault: (data: { required?: boolean; default?: unknown; }) => boolean; /** * Validates that string/varchar type attributes must have a size defined, * unless they have a format (email, url, ip, enum) which defines the size */ export declare const validateStringSize: (data: { type: string; size?: number | null; format?: string | null; }) => boolean; interface AttributeOrColumn { key: string; } interface Index { key: string; } interface CollectionOrTableData { attributes?: AttributeOrColumn[]; columns?: AttributeOrColumn[]; indexes?: Index[]; } /** * Validates duplicate keys in attributes/columns and indexes */ export declare const validateContainerDuplicates: (data: CollectionOrTableData, ctx: z.RefinementCtx) => void; interface RelationshipItem { key: string; type: string; relatedTable?: string; relatedCollection?: string; } interface ContainerWithDatabase { $id: string; name: string; databaseId: string; columns?: RelationshipItem[]; attributes?: RelationshipItem[]; } interface ConfigData { tables?: ContainerWithDatabase[]; collections?: ContainerWithDatabase[]; } /** * Validates cross-database relationships */ export declare const validateCrossDatabase: (data: ConfigData, ctx: z.RefinementCtx) => void; export {}; //# sourceMappingURL=config-validations.d.ts.map