//#region ../infra/src/capabilities/platform.d.ts declare function isIPad(userAgent?: string): boolean; //#endregion //#region ../infra/src/capabilities/IScreenOrientationCapability.d.ts type ScreenOrientationState = 'portrait' | 'landscape'; type IScreenOrientationCapability = { readonly current: ScreenOrientationState; subscribe(callback: (state: ScreenOrientationState) => void): () => void; cleanup(): void; }; //#endregion //#region ../infra/src/providers/browser/ScreenOrientationProvider.d.ts declare class ScreenOrientationProvider implements IScreenOrientationCapability { private _current; private subscribers; private orientationChangeHandler; private resizeHandler; private mediaQueryList; private mediaQueryHandler; constructor(); get current(): ScreenOrientationState; subscribe(callback: (state: ScreenOrientationState) => void): () => void; cleanup(): void; private handleOrientationChange; private handleResize; private updateState; } //#endregion //#region src/internal/device/getBrowser.d.ts type Browser = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera' | 'other' | 'samsung_browser'; declare function getBrowser(): Browser; //#endregion //#region src/internal/device/getDeviceClass.d.ts type DeviceClass = 'ios' | 'android' | 'desktop'; declare function getDeviceClass(): DeviceClass; //#endregion //#region src/internal/device/redirectDeviceClassification.d.ts /** * Conservative redirect-specific check. A mobile identity must also expose an * underlying desktop platform; touch count and automation alone are ignored. */ declare function isDesktopDeviceEmulation(deviceClass?: DeviceClass): boolean; /** Whether redirect-to-mobile should be shown in the current environment. */ declare function isDesktopOrEmulated(): boolean; //#endregion //#region src/internal/device/screenOrientation.d.ts type ScreenOrientationObserver = { get isLandscapeMobile(): boolean; subscribe(callback: (isLandscapeMobile: boolean) => void): () => void; cleanup(): void; }; declare function createScreenOrientationObserver(provider: IScreenOrientationCapability, deviceClass: DeviceClass): ScreenOrientationObserver; //#endregion export { type Browser, type DeviceClass, type ScreenOrientationObserver, ScreenOrientationProvider, createScreenOrientationObserver, getBrowser, getDeviceClass, isDesktopDeviceEmulation, isDesktopOrEmulated, isIPad };