import { DeviceInfo, VkPlatformType } from './types'; /** * Платформы ВКонтакте, для которых можно считать, что приложение открыто на десктопе. * * @constant {VkPlatformType[]} */ declare const DESKTOP_VK_PLATFORMS: VkPlatformType[]; /** * Платформы ВКонтакте, для которых можно считать, что приложение открыто на IOS. * * @constant {VkPlatformType[]} */ declare const IOS_VK_PLATFORMS: VkPlatformType[]; /** * Платформы ВКонтакте, для которых можно считать, что приложение открыто на Android. * * @constant {VkPlatformType[]} */ declare const ANDROID_VK_PLATFORMS: VkPlatformType[]; /** * Класснеймы, которые могут добавляться тегу body после проверки текущей платформы ВКонтакте. * * @const {Record} */ declare const VK_PLATFORM_CLASSNAME: { /** * Приложение открыто НЕ с мобильного устройства. */ desktop: string; /** * Приложение открыто с какого-то мобильного устройства. * После этого класснейма так же должен добавиться класснейм, * указывающий, с какой именно мобильной платформы - ios, android или mvk. */ mobile: string; /** * Приложение открыто с мобильного устройства или с мобильного браузера на платформе IOS. */ ios: string; /** * Приложение открыто с мобильного устройства или с мобильного браузера на платформе Android. */ android: string; /** * Приложение открыто в браузере мобильного устройства. */ mvk: string; }; /** * Утилита для вычисления информации о текущей платформе, на которой запущено приложение ВКонтакте. * В зависимости от платформы возвращает нужные параметры и добавляет нужные класснеймы на тег body. * * Если приложение открыто на desktop (vk_platform одна из {@link DESKTOP_VK_PLATFORMS}), * устанавливает isMobile в false и добавляет класснейм 'desktop' на тег body. * * Если приложение открыто в мобильном приложении ВКонтакте на IOS (vk_platform одна из {@link IOS_VK_PLATFORMS}), * устанавливает в true isMobile и isIos и добавляет класснеймы 'mobile ios'. * * Если приложение открыто в мобильном приложении ВКонтакте на Android (vk_platform одна из {@link ANDROID_VK_PLATFORMS}), * устанавливает в true isMobile и isAndroid и добавляет класснеймы 'mobile android'. * * Если приложение открыто в браузере на мобильном устройстве (m.vk), * устанавливает в true isMobile и isMvk и добавляет класснеймы 'mobile mvk'. * Также по регулярным выражениям для UserAgent проверяет, открыт ли m.vk на Android * (помимо предыдущих значений еще устанавливает в true isAndroid и добавляет класснейм 'android', * или на IOS устанавливает в true isIos и добавляет класснейм 'ios'). * * Возможные варианты сочетаний: * - desktop - браузер на компьютере * - mobile ios - мобильное приложение ВКонтакте на платформе IOS * - mobile android - мобильное приложение ВКонтакте на платформе Android * - mobile mvk - мобильный браузер на неизвестной платформе (например, m.vk открыт с браузера компьютера) * - mobile mvk ios - мобильный браузер на платформе IOS * - mobile mvk android - мобильный браузер на платформе Android * * @param {VkPlatformType | undefined} [platform] Значение текущей платформы, полученное в параметрах запуска ВКонтакте * * @see https://dev.vk.com/mini-apps/development/launch-params#vk_platform */ declare const checkVkPlatform: (platform: VkPlatformType | undefined) => DeviceInfo | null; export { DESKTOP_VK_PLATFORMS, IOS_VK_PLATFORMS, ANDROID_VK_PLATFORMS, VK_PLATFORM_CLASSNAME, checkVkPlatform, };