import { type Config } from '@expofp/config';
import type UIState from '../../store/UIState';
/**
 * Toggle kiosk mode — the single meaning of `kiosk=1` / `kiosk=0` from either
 * channel (the `?kiosk=` URL param, the typed search-box command) — and store
 * that choice. Exit also resets the per-device UI scale.
 */
export declare function applyKioskMode(uiState: UIState, enabled: boolean): void;
/**
 * Store-free kiosk check — the mode a load starts in: the `?kiosk=` param wins, then whatever the
 * device itself says. Used by the Intercom boot, which runs before the MobX stores exist, so the
 * phone rule (`UIState.kiosk`) is not applied here. The direct `?kiosk` read is kiosk-semantic and
 * migrates with the kiosk config node (retirement plan §4.7).
 */
export declare function isKioskMode(data: Config): boolean;
/**
 * The same check without the `?kiosk=` param: the mode init-ui and ShowKiosk settle on between
 * them, from the stored flag and the kiosks left — the enable flag, then a saved-kiosk object (a
 * provisioned device is a kiosk on first load, before the flag is set), then the config anchor.
 * What the setkiosk panel asks on close, since ShowKiosk remounts right after it and reads no
 * param.
 */
export declare function storedKioskMode(data: Config): boolean;
/** Whether this device holds a kiosk saved by the setkiosk panel. */
export declare function hasSavedKiosk(): boolean;
//# sourceMappingURL=kiosk-mode.d.ts.map