import React, { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
import { FitToOuter } from "../styles/css-var";
declare const functionKeys: readonly ["F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12"];
export declare type FunctionKey = typeof functionKeys[number];
export declare type FunctionKeyContainerHook = {
focus: () => void;
};
export declare type FunctionKeyProps = {
label?: ReactNode;
disabled?: boolean;
click?: (unlock: () => void) => (void | Promise);
buttonAttributes?: Omit, "onClick">;
removeKeyLabel?: boolean;
};
export declare type FunctionKeyContainerAttributes = HTMLAttributes & {
$fto?: FitToOuter;
$hook?: FunctionKeyContainerHook;
$defaultActions?: Array;
$disabled?: boolean;
$hideButton?: boolean;
};
declare const FunctionKeyContainer: React.ForwardRefExoticComponent & {
$fto?: FitToOuter;
$hook?: FunctionKeyContainerHook;
$defaultActions?: Array;
$disabled?: boolean;
$hideButton?: boolean;
} & React.RefAttributes>;
export declare const useFunctionKeyContainer: () => FunctionKeyContainerHook;
export declare const useFunctionKey: (actions: Array, deps?: React.DependencyList) => {
focus: () => void;
};
declare type generateFunctionKeyActionsController = {
set: (key: FunctionKey, props: FunctionKeyProps) => generateFunctionKeyActionsController;
};
export declare const generateFunctionKeyProps: (func?: (con: generateFunctionKeyActionsController) => void) => FunctionKeyProps[];
export default FunctionKeyContainer;