@gauf/tracker
Version:
Browser tracker with perfect customization
18 lines • 791 B
TypeScript
import { Metric, Payload } from "@gauf/tracker";
export declare type Listener = (metric: Metric) => void;
export declare type Settings = object;
export interface InterfaceEmitter {
activate(payload?: Payload): void;
deactivate(): void;
}
export declare type InterfaceEmitterConstructor = new (listener: Listener, settings?: Settings) => InterfaceEmitter;
export default abstract class MetricEmitter implements InterfaceEmitter {
static readonly key: string;
readonly settings?: Settings;
readonly listener: Listener;
constructor(listener: Listener, settings?: Settings);
abstract activate(payload?: Payload): void;
abstract deactivate(): void;
protected emit(name: string, payload?: Payload): void;
}
//# sourceMappingURL=emitter.d.ts.map