import { IdCreatedNamePairContext, IdPrimaryContext, TypeNameContext } from "../grammar";
import { ApexTypeRef } from "../types";
import { ApexSyntaxTreeVisitor } from "./syntaxTreeVisitor";
/**
 * Collects all type references in a given Apex syntax tree and returns them as an array of unique `ApexTypeRef` objects that are referenced in the tree.
 * Useful for getting all external types referenced in a given Apex syntax tree.
 */
export declare class TypeRefCollector extends ApexSyntaxTreeVisitor<ApexTypeRef[]> {
    private options?;
    private distinctTypes;
    constructor(options?: {
        excludeSystemTypes?: boolean;
    } | undefined);
    visitIdCreatedNamePair(ctx: IdCreatedNamePairContext): ApexTypeRef[];
    visitIdPrimary(ctx: IdPrimaryContext): ApexTypeRef[];
    visitTypeName(ctx: TypeNameContext): ApexTypeRef[];
    private addDistinct;
}
//# sourceMappingURL=typeRefCollector.d.ts.map