export interface IKeyValue { key: string; value: string; } export declare type TProtocol = string; export declare type TDemand = string; export declare type TClientId = string; export declare type TQuery = { [key: string]: string; }; export declare type TQueryArray = IKeyValue[]; export declare type TQuerysStorage = Map; export declare type TDemandsStorage = Map; export declare type TProtocolsStorage = Map; export default class DemandsHolder { private _subscriptions; subscribe(protocol: string, demand: string, clientID: string, query: TQuery | TQueryArray): Error | boolean; unsubscribe(clientID: string, protocol: string, demand?: string): boolean; removeClient(clientID: string): void; clear(): void; get(protocol: string, demand: string, query: TQuery | TQueryArray): string[] | Error; getAll(protocol: string, demand: string): string[] | Error; getInfo(): string; private _isInclude; private _serialize; }