import type { Type } from 'ts-gems';
import { ResponsiveMap } from '../../helpers/index.js';
import { DataType } from '../data-type/data-type.js';
declare const kMap: unique symbol;
declare const kCtorMap: unique symbol;
/**
 * @class DataTypeMap
 */
export declare class DataTypeMap {
    protected [kMap]: ResponsiveMap<DataType>;
    protected [kCtorMap]: WeakMap<object | Function | Type<any>, string>;
    get size(): number;
    forEach(callbackFn: (value: DataType, key: string, map: ResponsiveMap<DataType>) => void, thisArg?: any): void;
    get(nameOrCtor: string | Type | Function | object): DataType | undefined;
    set(name: string, dataType: DataType): void;
    has(nameOrCtor: string | Type | Function | object | DataType): boolean;
    keys(): IterableIterator<string>;
    values(): IterableIterator<DataType>;
    entries(): IterableIterator<[string, DataType]>;
    sort(compareFn?: (a: string, b: string) => number): this;
    [Symbol.iterator](): IterableIterator<[string, DataType]>;
}
export {};
