import React from 'react';
type FocusableOptions = {
    isFocusWithMouse?: boolean;
};
export type Triggers = {
    blur: () => void;
    focus: () => void;
};
export type WithFocusableProps = {
    disabled?: boolean;
    onFocus?: (event: FocusEvent, triggers: Triggers) => void;
    onBlur?: (event: FocusEvent, triggers: Triggers) => void;
    className?: string;
};
export type InjectedFocusableProps<P extends {}, E = HTMLElement> = P & {
    focusableOnFocus?: React.FocusEventHandler<E>;
    focusableOnBlur?: React.FocusEventHandler<E>;
    ref?: React.RefObject<E>;
    className?: string;
};
export declare function withFocusable<T extends {}, E = HTMLElement>(Component: React.ComponentType<T>, options?: FocusableOptions): React.ComponentType<InjectedFocusableProps<T, E>>;
export {};
//# sourceMappingURL=Focusable.d.ts.map