import type { Plugin } from "@segment/analytics-next"; import { Signal } from "@segment/analytics-signals-runtime"; import { Signals } from "../core/signals"; import { AnyAnalytics, SignalsPluginSettingsConfig } from "../types"; export type OnSignalCb = (signal: Signal) => void; interface SignalsAugmentedFunctionality { stop(): void; /** * Listen to signals */ onSignal: (fn: OnSignalCb) => this; /** * Emit/add a custom signal of type 'userDefined' */ addSignal(userDefinedData: Record): this; } export declare class SignalsPlugin implements Plugin, SignalsAugmentedFunctionality { readonly type = "utility"; readonly name = "SignalsPlugin"; readonly version = "2.1.0"; signals: Signals; constructor(settings?: SignalsPluginSettingsConfig); isLoaded(): boolean; load(_ctx: unknown, analytics: AnyAnalytics): Promise; stop(): void; onSignal(cb: (signal: Signal) => void): this; addSignal(data: Record): this; /** * Enable redaction and disable ingestion of signals. Also, logs signals to the console. */ debug(...args: Parameters<(typeof this.signals)["debug"]>): this; } export {}; //# sourceMappingURL=signals-plugin.d.ts.map