/** * Standard Interactive Fiction events. * * These are the core events that can occur in the IF world model. * Extensions can add their own events using namespaced identifiers. */ export declare const IFEvents: { readonly TAKEN: "taken"; readonly DROPPED: "dropped"; readonly MOVED: "moved"; readonly EXAMINED: "examined"; readonly PUT_IN: "put_in"; readonly PUT_ON: "put_on"; readonly REMOVED_FROM: "removed_from"; readonly ITEM_PUT_ON: "item_put_on"; readonly ITEM_REMOVED_FROM: "item_removed_from"; readonly CONTAINER_EMPTIED: "container_emptied"; readonly CONTAINER_NOT_OPEN: "container_not_open"; readonly NOT_A_CONTAINER: "not_a_container"; readonly NOT_A_SUPPORTER: "not_a_supporter"; readonly DOESNT_FIT: "doesnt_fit"; readonly OPENED: "opened"; readonly CLOSED: "closed"; readonly NOT_OPENABLE: "not_openable"; readonly LOCKED: "locked"; readonly UNLOCKED: "unlocked"; readonly CONTAINER_LOCKED: "container_locked"; readonly CONTAINER_UNLOCKED: "container_unlocked"; readonly ALREADY_LOCKED: "already_locked"; readonly ALREADY_UNLOCKED: "already_unlocked"; readonly UNLOCK_FAILED: "unlock_failed"; readonly NOT_LOCKABLE: "not_lockable"; readonly SWITCHED_ON: "switched_on"; readonly SWITCHED_OFF: "switched_off"; readonly DEVICE_SWITCHED_ON: "device_switched_on"; readonly DEVICE_SWITCHED_OFF: "device_switched_off"; readonly DEVICE_ACTIVATED: "device_activated"; readonly WORN: "worn"; readonly REMOVED: "removed"; readonly EATEN: "eaten"; readonly DRUNK: "drunk"; readonly ITEM_EATEN: "item_eaten"; readonly ITEM_DRUNK: "item_drunk"; readonly ITEM_DESTROYED: "item_destroyed"; readonly ACTOR_MOVED: "actor_moved"; readonly ACTOR_ENTERED: "actor_entered"; readonly ACTOR_EXITED: "actor_exited"; readonly MOVEMENT_BLOCKED: "movement_blocked"; readonly ENTERED: "entered"; readonly EXITED: "exited"; readonly EVACUATED: "evacuated"; readonly CLIMBED: "climbed"; readonly ROOM_ENTERED: "room_entered"; readonly ROOM_EXITED: "room_exited"; readonly ROOM_DESCRIBED: "room_described"; readonly ROOM_FIRST_ENTERED: "room_first_entered"; readonly ROOM_ILLUMINATED: "room_illuminated"; readonly ROOM_DARKENED: "room_darkened"; readonly NEW_EXIT_REVEALED: "new_exit_revealed"; readonly LIGHT_CHANGED: "light_changed"; readonly LOCATION_ILLUMINATED: "location_illuminated"; readonly LOCATION_DARKENED: "location_darkened"; readonly FUEL_DEPLETED: "fuel_depleted"; readonly FUEL_LOW: "fuel_low"; readonly REFUELED: "refueled"; readonly READ: "read"; readonly SEARCHED: "searched"; readonly LISTENED: "listened"; readonly SMELLED: "smelled"; readonly TOUCHED: "touched"; readonly GIVEN: "given"; readonly SHOWN: "shown"; readonly THROWN: "thrown"; readonly PUSHED: "pushed"; readonly PULLED: "pulled"; readonly TURNED: "turned"; readonly USED: "used"; readonly CUSTOM_MESSAGE: "custom_message"; readonly VISIBILITY_CHANGED: "visibility_changed"; readonly ACTION_PREVENTED: "action_prevented"; readonly ACTION_FAILED: "action_failed"; readonly ACTION_SUCCEEDED: "action_succeeded"; readonly WAITED: "waited"; readonly SCORE_DISPLAYED: "score_displayed"; readonly HELP_DISPLAYED: "help_displayed"; readonly ABOUT_DISPLAYED: "about_displayed"; readonly SCORE_GAINED: "if.event.score_gained"; readonly SCORE_LOST: "if.event.score_lost"; }; export type IFEventType = typeof IFEvents[keyof typeof IFEvents]; /** * Event categories for filtering and handling */ export declare const IFEventCategory: { readonly MANIPULATION: "manipulation"; readonly MOVEMENT: "movement"; readonly STATE_CHANGE: "state_change"; readonly PERCEPTION: "perception"; readonly META: "meta"; }; export type IFEventCategoryType = typeof IFEventCategory[keyof typeof IFEventCategory]; /** * Event processor wiring types (ADR-086) * * These types allow WorldModel to wire its event handlers to the engine's * EventProcessor without creating a circular dependency. */ import type { ISemanticEvent } from '@sharpee/core'; /** * Callback for registering a handler with the event processor. * The handler returns an array (Effect[] in practice, but typed loosely to avoid circular deps). */ export type EventProcessorRegisterFn = (eventType: string, handler: (event: ISemanticEvent) => unknown[]) => void; /** * Interface for wiring WorldModel handlers to EventProcessor. * WorldModel receives this during engine initialization. */ export interface IEventProcessorWiring { /** * Register a handler with the event processor */ registerHandler: EventProcessorRegisterFn; } //# sourceMappingURL=events.d.ts.map