import { Repository } from '../../db/index.js';
import type { BetterSqlite3Database, NodeRowWithFanIn, SymbolKind } from '../../types.js';
/**
 * Find nodes matching a name query, ranked by relevance.
 * Scoring: exact=100, prefix=60, word-boundary=40, substring=10, plus fan-in tiebreaker.
 */
export declare function findMatchingNodes(dbOrRepo: BetterSqlite3Database | InstanceType<typeof Repository>, name: string, opts?: {
    noTests?: boolean;
    file?: string;
    kind?: string;
    kinds?: readonly string[];
}): Array<NodeRowWithFanIn & {
    _relevance: number;
}>;
export declare function queryNameData(name: string, customDbPath: string, opts?: {
    noTests?: boolean;
    limit?: number;
    offset?: number;
}): {
    query: string;
    results: {
        callees: {
            name: string;
            kind: string;
            file: string;
            line: number;
            edgeKind: import("../../types.js").EdgeKind;
        }[];
        callers: {
            name: string;
            kind: string;
            file: string;
            line: number;
            edgeKind: import("../../types.js").EdgeKind;
        }[];
        name: string;
        kind: string;
        file: string;
        line: number;
        endLine: number | null;
        role: string | null;
        fileHash: string | null;
    }[];
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
};
export declare function whereData(target: string, customDbPath: string, opts?: {
    noTests?: boolean;
    file?: boolean;
    limit?: number;
    offset?: number;
}): {
    target: string;
    mode: string;
    results: {
        exported: boolean;
        uses: {
            name: string;
            file: string;
            line: number;
        }[];
        name: string;
        kind: string;
        file: string;
        line: number;
        endLine: number | null;
        role: string | null;
        fileHash: string | null;
    }[] | {
        file: string;
        fileHash: string | null;
        symbols: {
            name: string;
            kind: import("../../types.js").AnyNodeKind;
            line: number;
        }[];
        imports: string[];
        importedBy: string[];
        exported: string[];
    }[];
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
};
export declare function listFunctionsData(customDbPath: string, opts?: {
    noTests?: boolean;
    file?: string;
    pattern?: string;
    limit?: number;
    offset?: number;
}): {
    count: number;
    functions: import("../../shared/normalize.js").NormalizedSymbol[];
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
};
export declare function childrenData(name: string, customDbPath: string, opts?: {
    noTests?: boolean;
    file?: string;
    kind?: string;
    limit?: number;
    offset?: number;
}): {
    name: string;
    results: {
        name: string;
        kind: import("../../types.js").AnyNodeKind;
        file: string;
        line: number;
        scope: string | null;
        visibility: "public" | "private" | "protected" | null;
        qualifiedName: string | null;
        children: {
            name: string;
            kind: SymbolKind;
            line: number;
            endLine: number | null;
            qualifiedName: string | null;
            scope: string | null;
            visibility: "public" | "private" | "protected" | null;
        }[];
    }[];
} & {
    _pagination?: import("../../shared/paginate.js").PaginationMeta;
};
//# sourceMappingURL=symbol-lookup.d.ts.map