import { Position, editor } from 'monaco-editor';
import { IDocValue, IKeyObjectValue, IKeyValue } from '../type';
interface IUserDefined {
    functions?: Map<string, IDocValue[]>;
    variables?: Map<string, IDocValue[]>;
    types?: Map<string, IDocValue[]>;
    methods?: Map<string, IDocValue[]>;
    imports?: Map<string, IKeyObjectValue>;
    enums?: Map<string, IDocValue[]>;
}
export declare class Parse {
    private _userFunctions;
    private _userVariables;
    private _userTypes;
    private _userMethods;
    private _userEnums;
    private _imports;
    private _overloadsFuncs;
    private _keyMaps;
    constructor();
    get overloadsFuncs(): IKeyValue[];
    onVersionChange(version: number): Promise<void>;
    setUserDefined(maps: IUserDefined, overloadsFuncs: IKeyValue[]): void;
    parseLineContentFuncVar(column: number, line: number, model: editor.ITextModel | null, position?: Position): IKeyObjectValue | null | undefined;
    private _getImportDocVal;
    private _getBuildInFunc;
    private _getBuildInMethod;
    private _getBuildInOther;
    parseCurrentInputFunc(content: string, isQString?: boolean, isQqString?: boolean): {
        funcName: string;
        startIndex: number;
    } | undefined;
    parseCurrentInputFuncAndArg(content: string, isQString?: boolean, isQqString?: boolean): {
        startIndex: number;
        funcName: string;
        args: string[];
    } | undefined;
    private _removeString;
    private _getVariablesDocVal;
    private _getUserVariablesDocVal;
    private _getUserTypesDocVal;
    private _getUserEnumsDocVal;
    private _getTypesAndFileds;
    private _getFuncsDocVal;
    private _getOverloadsFuncIndex;
    private _getUserFuncsDocVal;
    private _getUserMethodsDocVal;
    private _getUserVarFuncsDocVal;
    private _arrayTypeTransform;
    private _matchContent;
    private _judgeVal;
}
declare const _default: Parse;
export default _default;
