import type { Data, ListenerFn } from './types';
interface CommandEvent {
    command: string;
    scope: string;
    isEffect?: boolean;
    options: unknown;
}
interface CommandControlEvent {
    scope: string;
}
export declare class CommanderStore {
    private store;
    private commands;
    private undoHistory;
    private redoHistory;
    constructor(data: Data);
    get(path: string[]): unknown;
    subscribe(listener: ListenerFn): () => void;
    dispatch(event: CommandEvent): void;
    undo(event: CommandControlEvent): void;
    redo(event: CommandControlEvent): void;
    clean(event: CommandControlEvent): void;
}
export {};
