import { IReversibleJsonPatch, IMosxTracker } from "./tracker.h";
declare type Action = () => void;
declare type Trigger = (id: string, change: IReversibleJsonPatch) => void;
export declare class MosxTester<T = any> {
    tracker: IMosxTracker<T>;
    action: Action | null;
    disposers: {
        [id: string]: Action;
    };
    triggers: Trigger[];
    unhandled: any[];
    constructor(tracker: IMosxTracker<T>);
    addListener(id: string, tags: string | string[], reversible?: boolean): void;
    onAction(action: Action): this;
    trigger(count: any, listener?: Trigger): this;
    dispose(id: string): void;
    run(final?: (unhandled: any[]) => void): void;
}
export {};
