export interface ValidationFailure { field: string; rule: string; message: string; expected?: unknown; received?: unknown; } interface BaseOpts { code?: string; entity?: string; cause?: unknown; } export declare class RuntimeError extends Error { readonly code: string; readonly entity?: string; readonly cause?: unknown; constructor(message: string, opts: BaseOpts & { code: string; }); toJSON(): Record; } export declare class ValidationError extends RuntimeError { readonly errors: ValidationFailure[]; constructor(message: string, opts: { entity?: string; errors: ValidationFailure[]; cause?: unknown; }); toJSON(): Record; } export declare class NotFoundError extends RuntimeError { readonly id: unknown; constructor(message: string, opts: { entity: string; id: unknown; cause?: unknown; }); toJSON(): Record; } export declare class ConstraintViolationError extends RuntimeError { readonly kind: "unique" | "foreign_key" | "not_null" | "check"; readonly table: string; readonly field?: string; readonly detail?: string; constructor(message: string, opts: { kind: "unique" | "foreign_key" | "not_null" | "check"; table: string; field?: string; detail?: string; cause?: unknown; }); toJSON(): Record; } export declare class MetadataError extends RuntimeError { constructor(message: string, opts?: { entity?: string; cause?: unknown; }); } export declare class UnsafeNameError extends RuntimeError { readonly value: string; constructor(message: string, opts: { value: string; }); toJSON(): Record; } export {}; //# sourceMappingURL=errors.d.ts.map