import ts from 'typescript';
import { Context } from '../../Context';
import { Builtin } from './types';
export declare class Builtins {
    private readonly context;
    private readonly builtinMembers;
    private readonly allBuiltinMembers;
    private readonly builtinInterfaces;
    private readonly builtinValues;
    private readonly builtinOverrides;
    private readonly memoized;
    constructor(context: Context);
    isBuiltinSymbol(symbol: ts.Symbol | undefined): boolean;
    isBuiltinIdentifier(value: string): boolean;
    isBuiltinFile(file: ts.SourceFile): boolean;
    getMember(value: ts.Node, prop: ts.Node): Builtin | undefined;
    getOnlyMember(value: string, name: string): Builtin | undefined;
    getOnlyMemberSymbol(value: string, name: string): ts.Symbol;
    getMembers<T extends Builtin>(name: string, isMember: (builtin: Builtin) => builtin is T, isEligible: (builtin: T) => boolean, symbolMembers?: boolean): ReadonlyArray<[string, T]>;
    getInterface(value: ts.Node): Builtin | undefined;
    getInterfaceSymbol(value: string): ts.Symbol;
    getValue(value: ts.Node): Builtin | undefined;
    getValueInterface(value: ts.Node): string | undefined;
    getValueSymbol(value: string): ts.Symbol;
    getTypeSymbol(name: string): ts.Symbol;
    isInterface(node: ts.Node, testType: ts.Type, name: string): boolean;
    isType(node: ts.Node, testType: ts.Type, name: string): boolean;
    isValue(node: ts.Node, name: string): boolean;
    addMember(valueSymbol: ts.Symbol, memberSymbol: ts.Symbol, builtin: Builtin): void;
    addOverride(superSymbol: ts.Symbol, overrideSymbol: ts.Symbol): void;
    addGlobalMember(value: string, member: string, builtin: Builtin): void;
    addContractMember(value: string, member: string, builtin: Builtin): void;
    addInterface(value: string, builtin: Builtin): void;
    addContractInterface(value: string, builtin: Builtin): void;
    addValue(value: string, builtin: Builtin): void;
    addTestValue(value: string, builtin: Builtin): void;
    addContractValue(value: string, builtin: Builtin): void;
    private walkOverridesForMember;
    private getOnlyMemberBase;
    private getAllMembers;
    private addMemberBase;
    private getAnyInterfaceOrValueSymbol;
    private addInterfaceBase;
    private addValueBase;
    private getAnyValueSymbol;
    private getAnyValueSymbolMaybe;
    private getValueSymbolBase;
    private getValueSymbolMaybe;
    private getAnyInterfaceSymbol;
    private getAnyInterfaceSymbolMaybe;
    private getInterfaceSymbolBase;
    private getInterfaceSymbolMaybe;
    private getInterfaceSymbols;
    private getInheritedSymbols;
    private getAnyTypeSymbol;
    private getAnyTypeSymbolMaybe;
    private getTypeSymbolMaybe;
    private getTypeSymbols;
    private getFiles;
    private getGlobals;
    private getContract;
    private getTestGlobals;
}
