export declare type Descendant> = P & {
element: T | null;
index?: number;
disabled?: boolean;
focusable?: boolean;
};
export interface DescendantContext> {
descendants: Descendant[];
register: (descendant: Descendant) => void;
unregister: (element: T) => void;
}
export declare type UseDescendantProps = {
context: DescendantContext;
} & Descendant;
export declare function useDescendant(props: UseDescendantProps): number;
export declare function useDescendants(): {
descendants: Descendant[];
register: ({ element, ...rest }: Descendant) => void;
unregister: (element: T) => void;
};