///
import { EventEmitter } from 'events';
import { PendingInvite } from './InviteProvider';
export type InviteParams = PendingInvite;
type InviteState = {
loading?: boolean;
failedToDecode?: boolean;
failureMessage?: string;
};
export type EventTypeHandlers = {
inviteDetected: (inviteParams: InviteParams) => void;
inviteLoadingStateChanged: (state: InviteState) => void;
};
export type EventTypes = keyof EventTypeHandlers;
export type EventTypeHandler = EventTypeHandlers[T];
export declare class InviteNotifier {
private emitter;
private lastInviteDetectedParams;
private lastInviteState;
addListener(eventType: T, listener: EventTypeHandler): EventEmitter;
removeListener(eventType: EventTypes, listener: EventTypeHandler): EventEmitter;
emit(eventType: T, ...params: Parameters>): boolean;
clearCache(): void;
}
export declare const inviteNotifier: InviteNotifier;
export {};