import React, { MouseEventHandler, ReactNode } from "react";
import { IWebRowOrderProps } from "./webRowOrder";
import { SearchProps } from "@alifd/next/types/search";
import { PaginationProps } from "@alifd/next/types/pagination";
import { ButtonProps } from "@alifd/next/types/button";
export interface IAction {
    render?: (title: IAction['title']) => ReactNode;
    isDisabled?: () => boolean;
    title?: ReactNode;
    type: ButtonProps['type'];
    disabled: boolean;
    callback?: (action: IAction) => void;
}
export interface IWebToolbarProps {
    nextTablePrefix?: string;
    onSearch?: SearchProps['onSearch'];
    onActionClick?: (action: IAction, index: number) => void;
    locale?: {
        [prop: string]: string;
    };
    showActionBar?: boolean;
    actionBar?: IAction[];
    showLinkBar?: boolean;
    linkBar?: any;
    showSearch?: boolean;
    searchBarPlaceholder?: string;
    showCustomColumn?: boolean;
    onClickCustomColumn?: MouseEventHandler<HTMLDivElement>;
    rowOrder?: IWebRowOrderProps;
    customBarItem?: {
        render?: () => ReactNode;
        rightRender?: () => ReactNode;
        bottomRender?: () => ReactNode;
    };
    showMiniPager?: boolean;
    paginationProps?: Pick<PaginationProps, 'pageSize' | 'onChange' | 'onPageSizeChange'> & {
        currentPage?: PaginationProps['current'];
        totalCount?: PaginationProps['total'];
    };
    noPadding?: boolean;
}
export default class WebToolbar extends React.Component<IWebToolbarProps> {
    render(): JSX.Element;
}
