import type { RefObject } from 'react';
export type InitialFocusMode = 'first-form-control' | 'first-focusable' | 'dialog' | 'none';
export type InitialFocusTarget = InitialFocusMode | {
    mode: 'ref';
    ref: RefObject<HTMLElement | null>;
    fallback?: InitialFocusMode;
} | {
    mode: 'selector';
    selector: string;
    fallback?: InitialFocusMode;
};
export type FormInitialFocus = 'first-form-control' | 'none' | {
    mode: 'ref';
    ref: RefObject<HTMLElement | null>;
    fallback?: 'first-form-control' | 'none';
};
export declare const isFocusableElement: (element: Element | null | undefined) => element is HTMLElement;
export declare const findFirstFormControl: (container: HTMLElement) => HTMLElement | null;
export declare const findFirstFocusable: (container: HTMLElement) => HTMLElement | null;
export declare const getFocusableElements: (container: HTMLElement) => HTMLElement[];
export declare const resolveInitialFocusTarget: (container: HTMLElement, target: InitialFocusTarget) => HTMLElement | null;
export declare const resolveFormInitialFocusTarget: (container: HTMLElement, target: FormInitialFocus) => HTMLElement | null;
export declare const focusElement: (element: HTMLElement | null) => void;
//# sourceMappingURL=focusable.d.ts.map