export declare const ID_VAR_NUM = 1885708031;
export declare const ID_VAR_TYPE = 753727511;
export declare const ID_INT = 2823855066;
export declare const ID_LONG = 570911930;
export declare const ID_DOUBLE = 571523412;
export declare const ID_STRING = 3039325732;
export declare const ID_VECTOR = 481674261;
export declare const ID_DICTIONARY = 525099407;
export declare const ID_MAYBE_TRUE = 1067224824;
export declare const ID_MAYBE_FALSE = 663947899;
export declare const ID_BOOL_FALSE = 3162085175;
export declare const ID_BOOL_TRUE = 2574415285;
export declare const FLAG_OPT_VAR: number;
export declare const FLAG_EXCL: number;
export declare const FLAG_NOVAR: number;
export declare const FLAG_DEFAULT_CONSTRUCTOR: number;
export declare const FLAG_BARE: number;
export declare const FLAG_COMPLEX: number;
export declare const FLAGS_MASK: number;
export declare class TlBase {
}
export declare class Arg extends TlBase {
    name?: string;
    flags: number;
    var_num?: number;
    exist_var_num?: number;
    exist_var_bit?: number;
    type?: TlTree;
    constructor(name?: string, flags?: number, var_num?: number, exist_var_num?: number, exist_var_bit?: number, type?: TlTree);
}
export declare class TlCombinator extends TlBase {
    id?: number;
    name?: string;
    var_count: number;
    type_id: number;
    args?: Arg[];
    result?: TlTree;
    constructor(id?: number, name?: string, var_count?: number, type_id?: number, args?: Arg[], result?: TlTree);
}
export declare class TlType extends TlBase {
    id?: number;
    name?: string;
    arity?: number;
    flags: number;
    simple_constructors?: number;
    constructors_num?: number;
    constructors?: TlCombinator[];
    constructor(id?: number, name?: string, arity?: number, flags?: number, simple_constructors?: number, constructors_num?: number, constructors?: TlCombinator[]);
    add_constructor: (new_constructor: TlCombinator) => void;
}
export declare class TlTree extends TlBase {
    flags: number;
    constructor(flags: number);
    get_type: () => number;
}
export declare class TlTreeType extends TlTree {
    type: TlType;
    children: TlTree[];
    constructor(flags: number, type: TlType);
    get_type: () => number;
}
export declare class TlTreeNatConst extends TlTree {
    num: number;
    constructor(flags: number, num: number);
    get_type: () => number;
}
export declare class TlTreeVarType extends TlTree {
    var_num: number;
    constructor(flags: number, var_num: number);
    get_type: () => number;
}
export declare class TlTreeVarNum extends TlTree {
    var_num: number;
    diff: number;
    constructor(flags: number, var_num: number, diff: number);
    get_type: () => number;
}
export declare class TlTreeArray extends TlTree {
    multiplicity: TlTree;
    args: Arg[];
    constructor(flags: number, multiplicity: TlTree, a: Arg[]);
    get_type: () => number;
}
