import type { CSSProperties, Ref } from "vue"; export type XyCleanup = () => void; export type XyMaybeArray = T | readonly T[]; export type XyMaybeRef = T | Ref; export type XyEventHandler = (event: E) => void; export type XySemanticResolver = T | ((info: { props: Props; }) => T); export type XySemanticInput = XyMaybeArray | undefined>; export type XySemanticClassNames> = XySemanticInput>, Props>; export type XySemanticStyles> = XySemanticInput>, Props>; export declare function toArray(value: XyMaybeArray | null | undefined): T[]; export declare function isObjectRecord(value: unknown): value is Record; export declare function omitUndefined>(value: T): Partial; export declare function resolveSemanticClassNames(value: XySemanticClassNames | null | undefined, props: Props): Partial>; export declare function resolveSemanticStyles(value: XySemanticStyles | null | undefined, props: Props): Partial>; export declare function createEventHandler(...handlers: Array | undefined>): (event: E) => void; export declare function canUseDom(): boolean; export declare function nextId(prefix?: string): string; export declare function containsTarget(container: Element | null | undefined, target: EventTarget | null): boolean; export declare function addDomEvent(target: Document, type: K, handler: (event: DocumentEventMap[K]) => void, options?: AddEventListenerOptions): XyCleanup; export declare function addDomEvent(target: HTMLElement, type: K, handler: (event: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions): XyCleanup; export declare function addDomEvent(target: Window, type: K, handler: (event: WindowEventMap[K]) => void, options?: AddEventListenerOptions): XyCleanup;