import { CallQualityWarningEventFanout } from "../../listeners/CallQualityWarningEventFanout";
import { CallQualityWarningEvent } from "../events/CallQualityWarningEvent";
/**
 * Base class for all detectors providing a common interface for all detectors and it is meants
 * to be extended by every specific detector implementation.
 *
 * The implementation should use the `emitWarning` method to emit a warning event. This assures proper
 * propagation of the event to the listeners and handles the state of the detector.
 */
export declare abstract class BaseDetector {
    private readonly fanout;
    constructor(fanout: CallQualityWarningEventFanout);
    private _isInTriggeredState;
    private _isActive;
    get isInTriggeredState(): boolean;
    private set isInTriggeredState(value);
    get isActive(): boolean;
    set isActive(isActive: boolean);
    protected emitWarning(callQualityWarningEvent: CallQualityWarningEvent): void;
}
