import { type AgentSqlDialect, type AgentSqlToken } from "./lexer.js"; export interface AgentSqlQueryCte { name: string; quoted: boolean; start: number; end: number; } export interface AgentSqlQuerySource extends AgentSqlQueryCte { qualifiers: string[]; cte: boolean; commaSeparated: boolean; modifiers: ("only" | "lateral")[]; alias?: { name: string; quoted: boolean; }; } export interface AgentSqlQuery { sql: string; dialect: AgentSqlDialect; tokens: AgentSqlToken[]; sources: AgentSqlQuerySource[]; ctes: AgentSqlQueryCte[]; } /** Reads sources in a bounded SELECT grammar; unsupported source syntax throws. */ export declare function readAgentSqlQuery(sql: string, options: { dialect: AgentSqlDialect; }): AgentSqlQuery; /** Replaces only analyzed source-name spans, preserving all other source text. */ export declare function rewriteAgentSqlQuerySources(query: AgentSqlQuery, replacer: (source: AgentSqlQuerySource) => string): string;