/** Serializable photo-mode preferences a game reads to compose its capture UI. */ export interface PhotoModeState { /** Photo mode is engaged (game frees the camera / pauses as it sees fit). */ active: boolean; /** Hide the gameplay HUD for a clean shot. */ hideHud: boolean; } /** The out-of-the-box photo-mode state: not active, HUD hidden when it engages. */ export declare const DEFAULT_PHOTO_MODE: PhotoModeState; /** Observable photo-mode store — genre-agnostic state a game binds its capture flow to. */ export interface PhotoModeStore { get(): PhotoModeState; /** Engage photo mode. */ enter(): void; /** Leave photo mode. */ exit(): void; toggle(): void; setHideHud(hide: boolean): void; set(patch: Partial): void; subscribe(listener: () => void): () => void; snapshot(): PhotoModeState; restore(snapshot: Partial): void; } /** * Serializable, observable photo-mode state (active + hide-HUD). Genre-agnostic * plumbing — a game engages it to free its camera and hide gameplay chrome for a * clean capture, and reads `hideHud` to conditionally render its HUD. Pair with * React `PhotoModeControls` and shell `captureCanvas`. * * @capability photo-mode observable photo-mode state (active + hide-HUD) a game binds its screenshot/camera flow to */ export declare function createPhotoModeStore(initial?: Partial): PhotoModeStore;