import { A as ActivityInterface, C as CommitmentInterface, L as LocationInterface, M as MapInterface, R as RoomInterface } from '../RoomInterface-Dh89PtFM.js';
import { Q as QuestInterface } from '../StageInterface-C1Zfcpk3.js';
import '@drincs/nqtr';
import '@drincs/pixi-vn';

declare namespace RegisteredActivities {
    /**
     * Save an activity in the registered activities. If the activity already exists, it will be overwritten.
     * @param activity The activity to save.
     * @returns
     */
    function add(activities: ActivityInterface | ActivityInterface[]): void;
    /**
     * Get an activity by its id.
     * @param id The id of the activity.
     * @returns The activity or undefined if not found.
     */
    function get(id: string): ActivityInterface | undefined;
    /**
     * Get a list of all activities registered.
     * @returns An array of activities.
     */
    function values(): ActivityInterface[];
    /**
     * Check if an activity is registered.
     * @param id The id of the activity.
     * @returns True if the activity is registered, false otherwise.
     */
    function has(id: string): boolean;
}

declare namespace RegisteredCommitments {
    /**
     * Save a commitment in the registered commitments. If the commitment already exists, it will be overwritten.
     * @param commitment The commitment to save.
     * @returns
     */
    function add(commitments: CommitmentInterface | CommitmentInterface[]): void;
    /**
     * Get a commitment by its id.
     * @param id The id of the commitment.
     * @returns The commitment or undefined if not found.
     */
    function get(id: string): CommitmentInterface | undefined;
    /**
     * Get a list of all commitments registered.
     * @returns An array of commitments.
     */
    function values(): CommitmentInterface[];
    /**
     * Check if a commitment is registered.
     * @param id The id of the commitment.
     * @returns True if the commitment is registered, false otherwise.
     */
    function has(id: string): boolean;
}

declare namespace RegisteredLocations {
    /**
     * Save a location in the registered locations. If the location already exists, it will be overwritten.
     * @param location The location to save.
     * @returns
     */
    function add(location: LocationInterface | LocationInterface[]): void;
    /**
     * Get a location by its id.
     * @param id The id of the location.
     * @returns The location or undefined if not found.
     */
    function get(id: string): LocationInterface | undefined;
    /**
     * Get a list of all locations registered.
     * @returns An array of locations.
     */
    function values(): LocationInterface[];
    /**
     * Check if a location is registered.
     * @param id The id of the location.
     * @returns True if the location is registered, false otherwise.
     */
    function has(id: string): boolean;
}

declare namespace RegisteredMaps {
    /**
     * Save a map in the registered maps. If the map already exists, it will be overwritten.
     * @param map The map to save.
     * @returns
     */
    function add(map: MapInterface | MapInterface[]): void;
    /**
     * Get a map by its id.
     * @param id The id of the map.
     * @returns The map or undefined if not found.
     */
    function get(id: string): MapInterface | undefined;
    /**
     * Get a list of all maps registered.
     * @returns An array of maps.
     */
    function values(): MapInterface[];
    /**
     * Check if a map is registered.
     * @param id The id of the map.
     * @returns True if the map is registered, false otherwise.
     */
    function has(id: string): boolean;
}

declare namespace RegisteredQuest {
    /**
     * Save a quest in the registered quests. If the quest already exists, it will be overwritten.
     * @param quest The quest to save.
     * @returns
     */
    function add(quests: QuestInterface | QuestInterface[]): void;
    /**
     * Get a quest by its id.
     * @param id The id of the quest.
     * @returns The quest or undefined if not found.
     */
    function get(id: string): QuestInterface | undefined;
    /**
     * Get a list of all quests registered.
     * @returns An array of quests.
     */
    function values(): QuestInterface[];
    /**
     * Check if a quest is registered.
     * @param id The id of the quest.
     * @returns True if the quest is registered, false otherwise.
     */
    function has(id: string): boolean;
}

declare namespace RegisteredRooms {
    /**
     * Save a room in the registered rooms, and their location and map if they are not already registered.
     * If the room already exists, it will be overwritten.
     * @param room The room to save.
     * @returns
     */
    function add(room: RoomInterface | RoomInterface[]): void;
    /**
     * Get a room by its id.
     * @param id The id of the room.
     * @returns The room or undefined if not found.
     */
    function get(id: string): RoomInterface | undefined;
    /**
     * Get a list of all rooms registered.
     * @returns An array of rooms.
     */
    function values(): RoomInterface[];
    /**
     * Check if a room is registered.
     * @param id The id of the room.
     * @returns True if the room is registered, false otherwise.
     */
    function has(id: string): boolean;
}

export { RegisteredActivities, RegisteredCommitments, RegisteredLocations, RegisteredMaps, RegisteredQuest as RegisteredQuests, RegisteredRooms };
