/// <reference types="node" />
import * as tl_core from './tl_core';
import { TlConfig } from './tl_config';
import { TlSimpleParser } from './tl_simple_parser';
import { TlCombinator, TlTree, TlType } from './tl_core';
export declare class TlConfigParser extends tl_core.TlBase {
    p: TlSimpleParser;
    schema_version: number;
    config: TlConfig;
    constructor(data: Buffer);
    parse_config: () => TlConfig;
    get_schema_version: (version_id: number) => number;
    read_type: () => TlType;
    read_combinator: () => TlCombinator;
    read_num_const: () => tl_core.TlTreeNatConst;
    read_num_var: (tl_combinator: TlCombinator) => tl_core.TlTreeVarNum;
    read_nat_expr: (tl_combinator: TlCombinator) => TlTree;
    read_expr: (tl_combinator: TlCombinator) => TlTree;
    read_args_list: (tl_combinator: TlCombinator) => tl_core.Arg[];
    read_type_expr: (tl_combinator: TlCombinator) => TlTree;
    read_type_var: (tl_combinator: TlCombinator) => tl_core.TlTreeVarType;
    read_type_tree: (tl_combinator: TlCombinator) => tl_core.TlTreeType;
    read_array: (tl_combinator: TlCombinator) => tl_core.TlTreeArray;
    try_parse: <T>(res: T) => T;
    try_parse_int: () => number;
    try_parse_long: () => bigint;
    try_parse_string: () => string;
}
