import type { Feature } from '../../feature';
import type { Writable } from 'ts-essentials';
import { type CommonSyntaxTypeCounts } from '../../common-syntax-probability';
declare const initialFunctionUsageInfo: {
    allFunctionCalls: number;
    args: Record<number, bigint | CommonSyntaxTypeCounts>;
    /** `a(b(), c(3, d()))` has 3 (`b`, `c`, `d`) */
    nestedFunctionCalls: number;
    deepestNesting: number;
    unnamedCalls: number;
};
export type FunctionUsageInfo = Writable<typeof initialFunctionUsageInfo>;
export declare const AllCallsFileBase = "all-calls";
export declare const usedFunctions: Feature<FunctionUsageInfo>;
export type FunctionCallInformation = [
    /** the name of the called function, or undefined if this was an unnamed function call */
    name: string | undefined,
    location: [line: number, character: number] | undefined,
    numberOfArguments: number,
    /** whether this was called from a namespace, like `a::b()` */
    namespace: string | undefined,
    knownDefinitionInFile: 0 | 1
];
export {};
