import { type Ref } from "vue"; export type NavigationConfigType = { disabled?: boolean | Ref; focusableSelector?: string; autofocus?: boolean; focusClass?: string; cyclic?: boolean; }; export type NavigationType = NavigationConfigType & { rows: number[] | Ref; initialPosition?: PositionType; autoNextRow?: boolean; invertAxis?: boolean; holdColumnPerRow?: boolean; onEnter?: (position: PositionType) => void; onReturn?: (position: PositionType) => void; onColumnStart?: () => void; onColumnEnd?: () => void; onRowStart?: () => void; onRowEnd?: () => void; }; export type PositionType = { row: number; col: number; }; export type NavigationYType = NavigationConfigType & { rows: number | Ref; initialPosition?: number; onEnter?: (position: number) => void; onReturn?: (position: number) => void; onRowStart?: () => void; onRowEnd?: () => void; onLeft?: () => void; onRight?: () => void; }; export type NavigationXType = NavigationConfigType & { columns: number | Ref; initialPosition?: number; onEnter?: (position: number) => void; onColumnStart?: () => void; onColumnEnd?: () => void; onReturn?: (position: number) => void; onUp?: () => void; onDown?: () => void; };