import { type AlertProps } from '../../ui/Alert';
import { type Kiosk, type StatusMessage } from './SetKiosk';
import { type SetKioskChangeEvent } from './SetKiosk/types';
declare class KioskStore {
    get kiosk(): Kiosk;
    setKiosk(kiosk: Kiosk | null): void;
    get renderer(): import("@expofp/renderer").Renderer | null;
    private getCameraState;
    savedKiosk: Kiosk | null;
    get hasUnsavedChanges(): boolean;
    statusMessages: StatusMessage[];
    addStatusMessage(message: Omit<AlertProps, 'closeLabel'>): void;
    clearStatusMessages(): void;
    statusMessageTimer: number;
    startCleanupMessages(): void;
    private isResettingCamera;
    resetCamera(): Promise<void>;
    /**
     * Restores the home framing in map mode. The kiosk is integrated at page load,
     * well before the map has finished loading, so wait for the camera port rather
     * than giving up on the first miss. Returns false when there was no map camera
     * to restore through.
     */
    private resetMaplibreCamera;
    private waitForMaplibreCameraPort;
    private resetRendererCamera;
    restoreData(): void;
    handleSetupReady(): void;
    handleClose(): void;
    handleDelete(): void;
    handleSave(): void;
    delayChange(cb: () => void): void;
    handleChange(event: SetKioskChangeEvent): void;
    initialPtScale?: number;
    setInitialPtScale(ptscale: number): void;
    handleClick(point: {
        x: number;
        y: number;
    }): void;
    handleNavigationChange(): void;
}
declare const _default: KioskStore;
export default _default;
//# sourceMappingURL=KioskStore.d.ts.map