import LocationBaseModelProps from '../../interface/navigation/LocationBaseModelProps.js';
import { b as LocationInternalInterface, M as MapInterface } from '../../RoomInterface-CdAM_q7P.js';
import LocationStoredClass from './LocationStoredClass.js';
import '../../interface/ActivityInterface.js';
import '@drincs/nqtr';
import '@drincs/pixi-vn';
import '../../types/ExecutionType.js';
import '../../interface/navigation/NavigationAbstractClass.js';
import './NavigationAbstractClass.js';

/**
 * The base model of a location. I suggest you extend this class to create your own location model.
 * @example
 * ```typescript
 * export const mcHome = new LocationBaseModel('mc_home', mainMap, {
 *     name: 'MC Home',
 *     icon: "https://icon.jpg",
 * });
 * ```
 */
declare class LocationBaseModel extends LocationStoredClass implements LocationInternalInterface {
    /**
     * @param id The id of the location, it must be unique.
     * @param map The map where the location is.
     * @param props The properties of the location.
     */
    constructor(id: string, map: MapInterface, props?: LocationBaseModelProps);
    private defaultName;
    /**
     * The name of the location.
     * If you set undefined, it will return the initial value of name.
     */
    get name(): string;
    set name(value: string | undefined);
    private defaultDisabled;
    /**
     * Whether is disabled. If it is a string, it is a Pixi'VN flag name.
     */
    get disabled(): boolean;
    set disabled(value: boolean | string);
    private defaultHidden;
    /**
     * Whether is hidden. If it is a string, it is a Pixi'VN flag name.
     */
    get hidden(): boolean;
    set hidden(value: boolean | string);
    private _icon?;
    /**
     * The icon of the location.
     */
    get icon(): string | undefined;
}

export { LocationBaseModel as default };
