/// import { EventEmitter } from 'events'; import { Transport } from '../transport/transport'; import type * as OpenFin from '../OpenFin'; import { BaseEvent, EventHandler } from './events/base'; type ApplicationIdentity = OpenFin.ApplicationIdentity; type Identity = OpenFin.Identity; export declare class Base { wire: Transport; constructor(wire: Transport); protected get fin(): OpenFin.Fin; get me(): Identity; protected isNodeEnvironment: () => boolean; protected isOpenFinEnvironment: () => boolean; protected isBrowserEnvironment: () => boolean; } export declare class EmitterBase extends Base { #private; private topic; protected identity: ApplicationIdentity; constructor(wire: Transport, topic: string, ...additionalAccessors: string[]); eventNames: () => (string | symbol)[]; emit: (eventType: EventType, payload: Extract, ...args: any[]) => boolean; private hasEmitter; private getOrCreateEmitter; listeners: (type: string | symbol) => Function[]; listenerCount: (type: string | symbol) => number; protected registerEventListener: (eventType: EmitterEventType, options: OpenFin.SubscriptionOptions, applySubscription: (emitter: EventEmitter) => void, undoSubscription: (emitter: EventEmitter) => void) => Promise; protected deregisterEventListener: (eventType: EmitterEventType, options?: OpenFin.SubscriptionOptions) => Promise; on(eventType: EventType, listener: EventHandler, options?: OpenFin.SubscriptionOptions): Promise; addListener: (eventType: EventType, listener: OpenFin.BaseEvents.EventHandler, options?: OpenFin.SubscriptionOptions) => Promise; once(eventType: EventType, listener: EventHandler, options?: OpenFin.SubscriptionOptions): Promise; prependListener(eventType: EventType, listener: EventHandler, options?: OpenFin.SubscriptionOptions): Promise; prependOnceListener(eventType: EventType, listener: EventHandler, options?: OpenFin.SubscriptionOptions): Promise; removeListener(eventType: EventType, listener: EventHandler, options?: OpenFin.SubscriptionOptions): Promise; protected deregisterAllListeners(eventType: EmitterEventType): Promise; removeAllListeners(eventType?: EmitterEventType): Promise; private deleteEmitterIfNothingRegistered; } export declare class Reply implements Identity { topic: TOPIC; type: TYPE; uuid: string; name: string; } export {};