import { ParseResult } from "@pgsql/types"; export * from "@pgsql/types"; export interface ScanToken { start: number; end: number; text: string; tokenType: number; tokenName: string; keywordKind: number; keywordName: string; } export interface ScanResult { version: number; tokens: ScanToken[]; } export interface SqlErrorDetails { message: string; cursorPosition: number; fileName?: string; functionName?: string; lineNumber?: number; context?: string; } export declare class SqlError extends Error { sqlDetails?: SqlErrorDetails; constructor(message: string, details?: SqlErrorDetails); } export declare function hasSqlDetails(error: unknown): error is SqlError; export declare function formatSqlError(error: SqlError, query: string, options?: { showPosition?: boolean; showQuery?: boolean; color?: boolean; maxQueryLength?: number; }): string; export declare function loadModule(): Promise; export declare const parse: (query: string) => Promise; export declare const deparse: (parseTree: ParseResult) => Promise; export declare const parsePlPgSQL: (query: string) => Promise; export declare const fingerprint: (query: string) => Promise; export declare const normalize: (query: string) => Promise; export declare function parseSync(query: string): ParseResult; export declare function deparseSync(parseTree: ParseResult): string; export declare function parsePlPgSQLSync(query: string): ParseResult; export declare function fingerprintSync(query: string): string; export declare function normalizeSync(query: string): string; export declare const scan: (query: string) => Promise; export declare function scanSync(query: string): ScanResult;