import type { CodeIndex, CodeSymbol } from "../types.js";
export type PythonLiteralKind = "string" | "integer" | "float" | "boolean" | "null" | "list" | "tuple" | "dict";
export interface PythonLiteralObject {
    [key: string]: PythonLiteralValue;
}
export type PythonLiteralValue = string | number | boolean | null | PythonLiteralValue[] | PythonLiteralObject;
export interface ResolutionHop {
    name: string;
    file: string;
    line: number;
}
export interface ResolvedDefaultParameter {
    name: string;
    resolved: boolean;
    value_kind?: PythonLiteralKind;
    value?: PythonLiteralValue;
    value_text: string;
    confidence: "high" | "medium" | "low";
    alias_chain: ResolutionHop[];
    reason?: string;
}
export interface ConstantResolutionMatch {
    symbol_name: string;
    symbol_kind: CodeSymbol["kind"];
    file: string;
    line: number;
    resolved: boolean;
    /**
     * Source language of the matched symbol. Optional because the original
     * Python-only resolver did not populate it; multi-language consumers
     * (e.g. typescript-constants-tools) set it to disambiguate matches.
     */
    language?: string;
    value_kind?: PythonLiteralKind;
    value?: PythonLiteralValue;
    value_text?: string;
    default_parameters?: ResolvedDefaultParameter[];
    confidence: "high" | "medium" | "low";
    alias_chain: ResolutionHop[];
    reason?: string;
}
export interface ConstantResolutionResult {
    query: string;
    matches: ConstantResolutionMatch[];
}
export declare function resolveConstantValue(repo: string, symbolName: string, options?: {
    file_pattern?: string;
    max_depth?: number;
    /** When set, skips a second getCodeIndex (multi-language orchestrator). */
    index?: CodeIndex;
}): Promise<ConstantResolutionResult>;
//# sourceMappingURL=python-constants-tools.d.ts.map