import { IKosModel } from '../kosModel';
import { KosModelEvents, KosModelState } from '../lifecycle/constants';
import { KosOfflineQueueLogger } from './kos-offline-queue';
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, activeStatus, or onlineStatus.
     * Online/offline transitions are tracked on model.onlineStatus because the
     * main FSM keeps status at READY when GO_ONLINE / GO_OFFLINE fire; reading
     * model.status for those targets would hang the transition forever.
     */
    private getTransitionStatusFor;
}
//# sourceMappingURL=kos-fsm-manager.d.ts.map