type hookOnTrigger = (value: unknown) => unknown | Promise<unknown>;
type hookOnError = (error: unknown) => unknown | Promise<unknown>;
type ReadTypeOfArray = 'array' | 'some' | 'every';
declare abstract class RegularListener {
    private delay;
    private intervalId;
    private readTypeOfArray;
    private isMessagePrinted;
    private onTrigger;
    private onError;
    constructor();
    constructor(onTrigger: hookOnTrigger);
    protected abstract isTriggered(value: unknown): boolean;
    protected abstract isTriggered(value: unknown, index: number): boolean;
    protected abstract isTriggered(value: unknown, index: number, array: Array<unknown>): boolean;
    private toString;
    private run;
    listenOnce(getValue: () => unknown): Promise<void>;
    listen(getValue: () => unknown): Promise<void>;
    stop(): void;
    catch(onError: hookOnError): void;
    setDelay(delay: number): void;
    setReadTypeOfArray(readTypeOfArray: ReadTypeOfArray): void;
    printMessage(): void;
    hideMessage(): void;
}
export default RegularListener;
export declare class BooleanListener extends RegularListener {
    protected isTriggered(value: unknown): boolean;
}
export declare class ValueExistedListener extends RegularListener {
    protected isTriggered(value: unknown): boolean;
}
export declare class ValueUpdatedListener extends RegularListener {
    private isValueInitialized;
    private lastValue;
    protected isTriggered(value: unknown, index?: number, array?: Array<unknown>): boolean;
    setInitialValue(value: unknown): void;
}
