import { DirectiveBinding } from 'vue'; declare global { interface HTMLElement { vFocusLoopContext: FocusLoopContext; } } export declare class FocusLoopContext { private readonly el; firstEl?: HTMLElement; lastEl?: HTMLElement; constructor(el: HTMLElement); update(): void; onTabKeyDown(event: KeyboardEvent): void; onShiftTabKeyDown(event: KeyboardEvent): void; } /** * element 아래에서 tab 을 계속 누를 때, focus 가 외부로 이동하지 않고 이 element 안에 머물러 있도록 만든다. * 즉, element 자식들 중 첫 번째 focusable 한 element 에서 shift-tab 누르면, 마지막 focusable 한 element 로 이동하고, * 마지막 focusable 한 element 에서 tab 누르면 첫 번째 focusable 한 element 로 이동한다. */ declare const VFocusLoop: { mounted: (el: Element, _binding: DirectiveBinding) => Promise; }; export default VFocusLoop;