export type ParameterExpansion = { kind: 'scalar-array'; name: string; } | { kind: 'object-fields'; name: string; fields: string[]; driverFields: string[]; } | { kind: 'object-array'; name: string; fields: string[]; sqlShape: 'values' | 'row-list'; acceptsSingleOrArray: boolean; }; export type NamedParameterReference = { raw: string; name: string; path: string[]; start: number; end: number; wrappedInParens: boolean; }; export type SqlIgnoredRange = { kind: 'line-comment' | 'block-comment' | 'string'; start: number; end: number; }; export declare function prepareSqlForAnalysis(sql: string, parameterExpansions: ParameterExpansion[]): string; export declare function applyParameterExpansionsForAnalysis(sql: string, expansions: ParameterExpansion[]): string; export declare function replaceNamedParameters(sql: string, replace: (reference: NamedParameterReference) => string): string; export declare function findNamedParameterReferences(sql: string): NamedParameterReference[]; export declare function parseInlineParameterExpansions(sql: string): ParameterExpansion[]; export declare function addParameterExpansion(expansions: Map, expansion: ParameterExpansion): void; export declare function stripSqlComments(sql: string): string; export declare function findSqlIgnoredRanges(sql: string): SqlIgnoredRange[]; export declare function expandedFieldName(parameterName: string, fieldName: string): string;