///
import { EventEmitter } from 'events';
import XAPI from '.';
import { Handler, Listener, Path } from './types';
export declare type FeedbackInterceptor = (payload: any, emit: (payload: any) => void) => void;
export interface FeedbackId {
Id: number;
}
export interface Registration {
(): void;
registration: Promise;
}
export declare class FeedbackGroup {
private handlers;
constructor(handlers: Handler[]);
add(handler: Handler): this;
remove(handler: Handler): this;
off(): this;
}
export default class Feedback {
readonly xapi: XAPI;
readonly interceptor: FeedbackInterceptor;
readonly eventEmitter: EventEmitter;
constructor(xapi: XAPI, interceptor?: FeedbackInterceptor);
on(path: Path, listener: Listener): Registration;
once(path: Path, listener: Listener): Registration;
off(): void;
dispatch(data: any): this;
group(handlers: Handler[]): FeedbackGroup;
}