import type { InjectionKey, PropType, Ref } from 'vue'; export declare const breakpoints: readonly ['sm', 'md', 'lg', 'xl', 'xxl']; export type Breakpoint = (typeof breakpoints)[number]; export type DisplayBreakpoint = 'xs' | Breakpoint; export type DisplayThresholds = { [key in DisplayBreakpoint]: number; }; export interface DisplayProps { mobile?: boolean | null; mobileBreakpoint?: number | DisplayBreakpoint; } export interface DisplayOptions { mobileBreakpoint?: number | DisplayBreakpoint; thresholds?: Partial; } export interface InternalDisplayOptions { mobileBreakpoint: number | DisplayBreakpoint; thresholds: DisplayThresholds; } export type SSROptions = boolean | { clientWidth: number; clientHeight?: number; }; export interface DisplayPlatform { android: boolean; ios: boolean; cordova: boolean; electron: boolean; chrome: boolean; edge: boolean; firefox: boolean; opera: boolean; win: boolean; mac: boolean; linux: boolean; touch: boolean; ssr: boolean; } export interface DisplayInstance { xs: Ref; sm: Ref; md: Ref; lg: Ref; xl: Ref; xxl: Ref; smAndUp: Ref; mdAndUp: Ref; lgAndUp: Ref; xlAndUp: Ref; smAndDown: Ref; mdAndDown: Ref; lgAndDown: Ref; xlAndDown: Ref; name: Ref; height: Ref; width: Ref; mobile: Ref; mobileBreakpoint: Ref; platform: Ref; thresholds: Ref; update(): void; } export declare const DisplaySymbol: InjectionKey; export declare function createDisplay(options?: DisplayOptions, ssr?: SSROptions): DisplayInstance; export declare const makeDisplayProps: (defaults?: Defaults | undefined) => { mobile: unknown extends Defaults["mobile"] ? { type: PropType; default: boolean; } : Omit<{ type: PropType; default: boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["mobile"] ? boolean | null : Defaults["mobile"] | NonNullable; }; mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? PropType : { type: PropType; default: unknown extends Defaults["mobileBreakpoint"] ? number | DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable; }; }; export declare function useDisplay(props?: DisplayProps, name?: string): { xs: Ref; sm: Ref; md: Ref; lg: Ref; xl: Ref; xxl: Ref; smAndUp: Ref; mdAndUp: Ref; lgAndUp: Ref; xlAndUp: Ref; smAndDown: Ref; mdAndDown: Ref; lgAndDown: Ref; xlAndDown: Ref; name: Ref; height: Ref; width: Ref; mobileBreakpoint: Ref; platform: Ref; thresholds: Ref; /** @internal */ ssr: boolean; update(): void; displayClasses: Readonly>; mobile: import("vue").ComputedRef; };