import { IPlatformService, PlatformServiceUrlUpdateListener } from './types'; export declare class PlatformService { #private; static get implementation(): IPlatformService; static set implementation(implementation: IPlatformService); /** * Indicates if the current platform is a native mobile app * like react-native or flutter. */ static get isNativeMobile(): boolean; /** * Gets the origin of the current location. * * @example window.location.origin */ static get getOrigin(): () => string; /** * Gets the origin to be displayed in the UI. * * @example window.location.origin */ static get getDisplayOrigin(): () => string | undefined; /** * Gets the host of the current location. * * @example window.location.host */ static get getHost(): () => string; /** * Gets the hostname of the current location. * * @example window.location.hostname */ static get getHostname(): () => string; /** * Gets the current URL. * * @example new URL(window.location.href) */ static get getUrl(): () => URL; static getTLD(domain?: string): string | undefined; /** * Opens a URL. If possible, should avoid new windows. */ static get openURL(): (url: string, target?: "self" | "blank" | undefined, features?: string | undefined) => Promise; /** * Downloads a file with the given filename and content. */ static get downloadFile(): (fileName: string, file: Blob) => Promise; /** * Registers a listener for URL updates. * This is primarily used in native mobile environments where deep links * can update the current URL asynchronously. * * @returns A function to unsubscribe the listener, or undefined if not supported. */ static onUrlUpdate(listener: PlatformServiceUrlUpdateListener): (() => void) | undefined; /** * Indicates whether the SDK is executed in an environment where * waas keyshares secure storage is supported. */ static get isWaasSecureStorageSupported(): boolean; }