import React from 'react';
import { TableInstance } from 'react-table';
import { TableMouseEventHandler } from '../../types/react-table-config';
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"toolbar" | "leftButtons" | "rightButtons" | "leftIcons" | "rightIcons">;
declare type InstanceActionButton<T extends Record<string, unknown>> = {
    instance: TableInstance<T>;
    icon?: JSX.Element;
    onClick: TableMouseEventHandler;
    enabled?: (instance: TableInstance<T>) => boolean;
    label: string;
    variant?: 'right' | 'left';
};
declare type ActionButton = {
    icon?: JSX.Element;
    onClick?: React.MouseEventHandler;
    enabled?: boolean;
    label: string;
    variant?: 'right' | 'left';
};
export declare const InstanceLabeledActionButton: <T extends Record<string, unknown>>({ instance, icon, onClick, label, enabled, }: InstanceActionButton<T>) => React.ReactElement;
export declare const LabeledActionButton: ({ icon, onClick, label, enabled, }: ActionButton) => React.ReactElement;
export declare const InstanceSmallIconActionButton: <T extends Record<string, unknown>>({ instance, icon, onClick, label, enabled, variant, }: InstanceActionButton<T>) => React.ReactElement;
export declare const SmallIconActionButton: ({ icon, onClick, label, enabled, variant, }: ActionButton) => React.ReactElement;
declare type TableToolbarProps<T extends Record<string, unknown>> = {
    instance: TableInstance<T>;
    onAdd?: TableMouseEventHandler;
    onDelete?: TableMouseEventHandler;
    onEdit?: TableMouseEventHandler;
    showGlobalFilter?: boolean;
    showFilter?: boolean;
    showColumnIcon?: boolean;
    filterActive?: boolean;
    setLocalFilterActive?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
    customJsxSideFilterButton?: React.ReactNode;
};
export declare function TableToolbar<T extends Record<string, unknown>>({ instance, showGlobalFilter, showFilter, showColumnIcon, filterActive, setLocalFilterActive, customJsxSideFilterButton, }: React.PropsWithChildren<TableToolbarProps<T>>): React.ReactElement | null;
export {};
