import { KosOfflineQueueLogger } from './kos-offline-queue';
import { KosModelEvents, KosModelState } from '../lifecycle/constants';
import { IKosModel } from '../kosModel';

export declare class KosFSMManager {
    private model;
    private log;
    private disposer?;
    private readonly service;
    constructor(model: IKosModel, log: KosOfflineQueueLogger);
    /**
     * Returns the current raw state of the FSM
     */
    get current(): KosModelState;
    /**
     * Waits for a transition to complete to the target state (or fails if error state reached)
     */
    transitionTo(event: KosModelEvents, target: KosModelState, error?: KosModelState): Promise<void>;
    /**
     * Checks if a given target maps to status or activeStatus
     */
    private getTransitionStatusFor;
}
//# sourceMappingURL=kos-fsm-manager.d.ts.map