): void; removeListener(listener: Service.ActionChannel.Listener
): void;
removeAllListeners(): void;
}
export declare class ActionsChannelsService {
private readonly channelsSources;
private readonly channelsDestinations;
private readonly emitter;
private getChannelsCount;
getSourceChannelsCount(actionName: string): number;
getDestinationChannelsCount(actionName: string): number;
createSource(actionName: A, options?: Service.ActionChannel.SourceOptions): ActionChannelSource;
createDestination(actionName: A, options?: Service.ActionChannel.DestinationOptions): ActionChannelDestination;
}
declare module "../../index" {
namespace Service.ActionChannel {
type SourceMeta = {
argsCount: number;
sourcesCount: number;
destinationsCount: number;
sourceTag?: string;
throttledDelayMs?: number;
throttledDropCount?: number;
};
type ListenerPayload = {
args: P;
meta: SourceMeta;
};
type Listener = P extends Parameters ) => void : never;
type SourceOptions = {
rps?: number;
tag?: string;
};
type DestinationOptions = {
tag?: string;
};
}
}
export {};
//# sourceMappingURL=actions-channels-service.d.ts.map