export type SqlStdlibUsageKind = 'table' | 'function' | 'macro';
export interface SqlStdlibDependency {
    symbol: string;
    module: string;
    usage: SqlStdlibUsageKind;
}
export interface AnalyzeSqlStdlibDependenciesOptions {
    /**
     * Symbols defined outside this SQL fragment but still local to the skill or
     * execution context. Skill validation uses this for multi-step SQL where an
     * earlier step creates a helper view/table consumed by a later step.
     */
    extraLocalSymbols?: Iterable<string>;
}
export interface SqlStdlibDependencyAnalysis {
    includes: string[];
    localSymbols: string[];
    dependencies: SqlStdlibDependency[];
    requiredModules: string[];
    source: 'asset' | 'source' | 'empty';
}
export declare function extractLocalSqlSymbols(sql: string): string[];
export declare function moduleCoveredByStdlibDeclaration(module: string, declarations: Iterable<string>): boolean;
export declare function analyzeSqlStdlibDependencySequence(sqlFragments: string[], options?: AnalyzeSqlStdlibDependenciesOptions): SqlStdlibDependencyAnalysis[];
export declare function analyzeSqlStdlibDependencies(sql: string, options?: AnalyzeSqlStdlibDependenciesOptions): SqlStdlibDependencyAnalysis;
//# sourceMappingURL=sqlStdlibDependencyAnalyzer.d.ts.map