///
import { EventEmitter } from "events";
import { Channel } from './channel/base';
import { keys, Event, Publisher } from './mixins';
import { Application } from '@ihadeed/feathers';
declare module '@ihadeed/feathers' {
interface ServiceAddons {
publish(publisher: Publisher): this;
publish(event: Event, publisher: Publisher): this;
registerPublisher(publisher: Publisher): this;
registerPublisher(event: Event, publisher: Publisher): this;
}
interface Application extends EventEmitter {
channels: string[];
channel(name: string[]): Channel;
channel(...names: string[]): Channel;
publish(publisher: Publisher): this;
publish(event: Event, publisher: Publisher): this;
registerPublisher(publisher: Publisher): this;
registerPublisher(event: Event, publisher: Publisher): this;
}
}
export { keys };
export declare function channels(): (app: Application) => void;