import { DataObjectDeserializer, DataObjectSerializer, DoNodeSerializer, DoValueMetaData } from '../../index';
export declare class MapDoNodeSerializer implements DoNodeSerializer<object> {
    canSerialize(value: any, metaData: DoValueMetaData): boolean;
    serialize(map: Map<any, any>, metaData: DoValueMetaData, serializer: DataObjectSerializer): any;
    canDeserialize(value: any, metaData: DoValueMetaData): boolean;
    deserialize(map: object, metaData: DoValueMetaData, deserializer: DataObjectDeserializer): object;
    protected _throwIfInvalidKey(keyCandidate: any): string | number | symbol;
    protected _isValidKey(keyCandidate: any): keyCandidate is string | number | symbol;
    protected _deserializeMap(map: Map<any, any>, mapKeyType: DoValueMetaData, mapValueType: DoValueMetaData, deserializer: DataObjectDeserializer): object;
    protected _deserializeRecord(record: Record<PropertyKey, any>, recordKeyType: DoValueMetaData, recordValueType: DoValueMetaData, deserializer: DataObjectDeserializer): object;
    static getMapKeyType(metaData: DoValueMetaData): DoValueMetaData;
    static getMapValueType(metaData: DoValueMetaData): DoValueMetaData;
    protected static _getMapType(metaData: DoValueMetaData, index: number): DoValueMetaData;
}
//# sourceMappingURL=MapDoNodeSerializer.d.ts.map