import type { SelectQuery } from 'rawsql-ts'; import { TableNameResolver } from './TableNameResolver'; export interface DdlViewDefinition { name: string; cteName: string; sql: string; source?: string; statementIndex?: number; } export interface DdlViewSource { path: string; sql: string; } export interface DdlViewCatalogOptions { tableNameResolver?: TableNameResolver; } export interface ViewCteDefinition { name: string; query: SelectQuery; } export declare class DdlViewUnsupportedError extends Error { constructor(message: string); } export declare function collectDdlViewDefinitions(sources: DdlViewSource[], options?: DdlViewCatalogOptions): DdlViewDefinition[]; export declare class DdlViewCatalog { private readonly views; private readonly leafIndex; private readonly resolver?; constructor(definitions?: DdlViewDefinition[], options?: DdlViewCatalogOptions); hasView(tableName: string): boolean; getView(tableName: string): DdlViewDefinition | undefined; expandReferencedViews(tableNames: string[], existingCteNames?: ReadonlySet): DdlViewDefinition[]; toCteDefinitions(definitions: DdlViewDefinition[]): ViewCteDefinition[]; collectReferencedTables(definitions: DdlViewDefinition[]): string[]; createAliasMap(definitions: DdlViewDefinition[]): Map; private resolveDefinitionKey; private resolveViewKey; private collectViewDependencies; private assertAcyclic; }