import { CharacterInterface } from '@drincs/pixi-vn';
import CommitmentProps from '../interface/CommitmentProps.mjs';
import { R as RoomInterface } from '../RoomInterface-DURfkQ7u.mjs';
import CommitmentStoredClass from './CommitmentStoredClass.mjs';
import '../types/ExecutionType.mjs';
import '../types/OnRunEvent.mjs';
import '@drincs/nqtr';
import '../interface/ActivityInterface.mjs';
import '../interface/navigation/NavigationAbstractClass.mjs';
import './ActivityStoredClass.mjs';

/**
 * The base model of a commitment. I suggest you extend this class to create your own commitment model.
 * You must use the saveRoom function to save the commitment in the registered commitments.
 * @example
 * ```ts
 * export const mcRoom = new CommitmentBaseModel("test", character, room, {
 *     name: "Test",
 *     image: "https://image.jpg",
 *     executionType: ExecutionTypeEnum.INTERACTION,
 *     onRun: (commitment) => {
 *         // Do something
 *     }
 * })
 * saveCommitment(mcRoom)
 * ```
 */
declare class CommitmentBaseModel extends CommitmentStoredClass {
    /**
     * @param id The id of the commitment, it must be unique.
     * @param character The character or characters that are in the commitment and so in the room.
     * @param room The room where the commitment is.
     * @param props The properties of the commitment.
     */
    constructor(id: string, character: CharacterInterface | CharacterInterface[] | undefined, room: RoomInterface, props: CommitmentProps);
    private _name;
    /**
     * The name of the commitment.
     */
    get name(): string;
    private _image?;
    /**
     * The image of the commitment.
     */
    get image(): string | undefined;
    private _icon?;
    /**
     * The icon of the commitment.
     */
    get icon(): string | undefined;
    private defaultDisabled;
    /**
     * Whether is disabled. You can also pass a Pixi'VN flag name.
     */
    get disabled(): boolean;
    set disabled(value: boolean | string);
    private defaultHidden;
    /**
     * Whether is hidden. You can also pass a Pixi'VN flag name.
     */
    get hidden(): boolean;
    set hidden(value: boolean | string);
}

export { CommitmentBaseModel as default };
