import { OnRunProps } from '@drincs/nqtr';
import { StoredClassModel } from '@drincs/pixi-vn';
import { b as QuestBaseInternalInterface, S as StageInterface, Q as QuestInterface } from '../../StageInterface-DX74DUxG.js';

declare class QuestStoredClass extends StoredClassModel implements QuestBaseInternalInterface {
    private readonly _stages;
    constructor(id: string, _stages: StageInterface[], props?: {
        /**
         * The function that will be executed when the quest starts.
         */
        onStart?: (stage: QuestInterface, props: OnRunProps) => void;
        /**
         * The function that will be executed when a stage end in the quest.
         */
        onNextStage?: (stage: QuestInterface, props: OnRunProps) => void;
    });
    get stages(): StageInterface[];
    get currentStageIndex(): number | undefined;
    private set currentStageIndex(value);
    get currentStage(): StageInterface | undefined;
    get started(): boolean;
    get completed(): boolean;
    get failed(): boolean;
    set failed(value: boolean);
    private _onStart?;
    get onStart(): undefined | ((stage: QuestInterface, props: OnRunProps) => void);
    private _onNextStage?;
    get onNextStage(): undefined | ((stage: QuestInterface, props: OnRunProps) => void);
    start(props: OnRunProps): void;
    tryToGoNextStage(props: OnRunProps): boolean;
    completeCurrentStageAndGoNext(props: OnRunProps): boolean;
    goNextStage(props: OnRunProps): boolean;
    get currentStageMustStart(): boolean;
    startCurrentStage(props: OnRunProps): void;
}

export { QuestStoredClass as default };
