import { IKeyObjectValue } from "../../../type";
import { VInsType } from "../enum";
interface IMapArgs {
    id?: IPseudoMap;
    key?: any;
    value?: any;
    id2?: IPseudoMap;
}
export default class BuildInMap {
    constructor();
    new({ type }: {
        type: string;
    }): {
        isMap: boolean;
        keyTypeName: string;
        typeName: string;
        _value: any;
        _isNumberKey: any;
        type: VInsType;
    };
    copy({ id }: IMapArgs): {
        isMap: boolean;
        keyTypeName: string;
        typeName: string;
        _value: any;
        _isNumberKey: any;
        type: VInsType;
    } | undefined;
    get({ id, key }: IMapArgs): any;
    put({ id, key, value }: IMapArgs): any;
    keys({ id }: IMapArgs): import("./array").IPseudoArray | undefined;
    size({ id }: IMapArgs): number | undefined;
    clear({ id }: IMapArgs): void;
    remove({ id, key }: IMapArgs): any;
    values({ id }: IMapArgs): import("./array").IPseudoArray | undefined;
    put_all({ id, id2 }: IMapArgs): IPseudoMap | undefined;
    contains({ id, key }: IMapArgs): boolean | undefined;
}
interface IPseudoMap {
    isMap: boolean;
    keyTypeName: string;
    typeName: string;
    _value: IKeyObjectValue;
    type: VInsType.MAP;
    _isNumberKey: boolean;
}
export declare function createMap(types: string[]): {
    isMap: boolean;
    keyTypeName: string;
    typeName: string;
    _value: any;
    _isNumberKey: any;
    type: VInsType;
};
export {};
