/// <reference types="node" />
/// <reference types="pouchdb-core" />
import { ContractParameter } from '@neo-one/node-core-browserify';
import { ArrayStackItem } from './ArrayStackItem';
import { StackItem } from './StackItem';
import { StackItemBase } from './StackItemBase';
export declare class MapStackItem extends StackItemBase {
    private readonly referenceKeys;
    private readonly referenceValues;
    private readonly referenceID;
    constructor({ referenceKeys, referenceValues, }?: {
        readonly referenceKeys?: Map<string, StackItem>;
        readonly referenceValues?: Map<string, StackItem>;
    });
    toStructuralKey(): string;
    equals(other: any): boolean;
    isMap(): boolean;
    asBoolean(): boolean;
    asBuffer(): Buffer;
    toContractParameter(seen?: Set<StackItemBase>): ContractParameter;
    readonly size: number;
    has(item: StackItem): boolean;
    get(item: StackItem): StackItem;
    set(key: StackItem, value: StackItem): this;
    delete(item: StackItem): this;
    keys(): ArrayStackItem;
    keysArray(): StackItem[];
    valuesArray(): StackItem[];
    asMapStackItem(): MapStackItem;
    protected incrementInternal(seen: Set<StackItemBase>): number;
    protected decrementInternal(seen: Set<StackItemBase>): number;
    protected convertJSONInternal(seen: Set<StackItemBase>): any;
    protected serializeInternal(seen: Set<StackItemBase>): Buffer;
}
