import type { Exact } from '../../types';
import { type PlatformType } from '../platform';
import { type SizeTypeValues, type ViewHeightType, type ViewWidthType } from './constants';
import type { CSSBreakpointsClassNames, MediaQueries } from './types';
/**
 * @public
 */
export declare function getViewWidthByViewportWidth(viewportWidth: number): ViewWidthType;
export declare function getViewWidthByMediaQueries(mediaQueries: MediaQueries): ViewWidthType;
/**
 * @public
 */
export declare function getViewHeightByViewportHeight(viewportHeight: number): ViewHeightType;
export declare function getViewHeightByMediaQueries(mediaQueries: MediaQueries): ViewHeightType;
export declare function getSizeX(viewWidth: ViewWidthType): SizeTypeValues;
export declare function isCompactByViewWidth(viewWidth: ViewWidthType | undefined, hasPointer?: boolean): boolean | undefined;
export declare function isCompactByViewHeight(viewHeight: ViewHeightType | undefined): boolean;
export declare function getSizeY(viewWidth: ViewWidthType, viewHeight: ViewHeightType, hasPointer: boolean): SizeTypeValues;
/**
 * Проверка на Desktop.
 *
 * Функция гарантировано вернёт `boolean` или `null` в зависимости от условий.
 *
 * Возвращаем `null` в случае, если у нас недостаточно данных, чтобы определить платформу.
 *
 * ⚠️ При передаче 'vkcom' всегда будет возвращать `true`.
 */
export declare function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): boolean;
export declare function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: undefined, hasPointer: boolean, platform?: PlatformType): boolean;
export declare function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined, hasPointer: undefined, platform?: PlatformType): null;
export declare function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined | ViewHeightType, hasPointer: undefined, platform?: PlatformType): null;
export declare function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined, hasPointer: undefined | boolean, platform?: PlatformType): null;
export declare function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined | ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): null | boolean;
/**
 * Конвертирует `viewWidth` в CSS брейкпоинты (см. тесты для наглядности).
 *
 * > Note: используется восклицательный знак (!), чтобы принудить TS поверить, что св-во точно не может быть
 * > `undefined`. Это всё из-за применения `Partial<...>` для объекта.
 */
export declare function viewWidthToClassName<T extends Partial<CSSBreakpointsClassNames>>(breakpointClassNames: Exact<CSSBreakpointsClassNames, T>, viewWidth?: ViewWidthType | 'none'): string | null;
//# sourceMappingURL=functions.d.ts.map