import type { MissingFixtureStrategy } from '../types'; import type { DdlLintDiagnostic } from '../fixtures/ddlLint'; export interface MissingFixtureColumnDetail { name: string; typeName: string; } export interface MissingFixtureDiagnostics { tableName: string; sql?: string; strategy: MissingFixtureStrategy; schemaColumns?: MissingFixtureColumnDetail[]; schemaSource?: 'fixture' | 'schema'; } /** * Raised when the rewriter cannot locate fixture data for a referenced table. */ export declare class MissingFixtureError extends Error { readonly diagnostics: MissingFixtureDiagnostics; constructor(diagnostics: MissingFixtureDiagnostics); private static buildMessage; /** * Produces a compact preview of the provided SQL snippet for diagnostics. */ private static formatSqlSnippet; /** * Builds a human-readable template that mirrors the missing fixture schema. */ private static buildFixtureTemplate; } /** * Signals that a fixture schema definition lacks required metadata or is inconsistent. */ export declare class SchemaValidationError extends Error { constructor(message: string); } /** * Wraps unexpected failures encountered during select statement rewriting. */ export declare class QueryRewriteError extends Error { readonly cause?: unknown | undefined; constructor(message: string, cause?: unknown | undefined); } /** * Raised when DDL linting detects integrity issues. */ export declare class DdlLintError extends Error { readonly diagnostics: DdlLintDiagnostic[]; constructor(diagnostics: DdlLintDiagnostic[]); }