import { Registry } from './Registry';
export declare const REGISTER_MAP_ARGUMENTS: unique symbol;
export declare type RegistryMap<TType, TKey = string> = ImmutableRegistryMap<TType, TKey>;
export declare function makeImmutableRegistryMap<TType, TKey = string>(...services: [TKey, TType][]): ImmutableRegistryMap<TType, TKey>;
export declare class ImmutableRegistryMap<TType, TKey = string> extends Array<[TKey, TType]> implements Registry<[TKey, TType]> {
    static create<TType, TKey = string>(...items: [TKey, TType][]): ImmutableRegistryMap<TType, TKey>;
    [REGISTER_MAP_ARGUMENTS]: [TType, TKey];
    private constructor();
    register(...services: [TKey, TType][]): ImmutableRegistryMap<TType, TKey>;
    toArray(): [TKey, TType][];
    toObject(): TKey extends string | symbol | number ? Record<TKey, TType> : never;
}
