import { Application, RealTimeConnection } from '@feathersjs/feathers'; import { Channel } from './channel/base'; import { CombinedChannel } from './channel/combined'; import { keys, Event, Publisher } from './mixins'; import EventEmitter from 'events'; declare module '@feathersjs/feathers/lib/declarations' { interface ServiceAddons extends EventEmitter { publish(publisher: Publisher, A, this>): this; publish(event: Event, publisher: Publisher, A, this>): this; registerPublisher(publisher: Publisher, A, this>): this; registerPublisher(event: Event, publisher: Publisher, A, this>): this; } interface Application { channels: string[]; channel(name: string | 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; } interface Params { connection?: RealTimeConnection; } } export { keys }; export declare function channels(): (app: Application) => void; export { Channel, CombinedChannel, RealTimeConnection };