import type { HandleActionFn, IScopedContext, SchemaNode, ScopedComponentType } from 'jamis-core';
import type { MutableRefObject } from 'react';
import React from 'react';
import type { CRUDProps } from './types';
export declare const useCrudToolbar: (toolbarProps: CRUDProps, scoped: IScopedContext, crudRenderer: ScopedComponentType & {
    reloadTarget?: (target: string, data?: any) => void;
    closeTarget?: (target: string, data?: any) => void;
}, rest: {
    timerRef: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;
    search: (values?: any, silent?: boolean, clearSelection?: boolean, forceReload?: boolean) => Promise<void>;
    handleAction: HandleActionFn;
    handleQuery: (values: Record<string, any>, forceReload?: boolean) => void;
    openFeedback: (dialog: any, ctx: any) => Promise<any>;
    renderPagination: (toolbar: SchemaNode, showPerPage?: boolean, showStatistics?: boolean) => JSX.Element | null;
    handleChangePage: (page: number, perPage: number) => void;
}) => {
    renderHeaderToolbar: (childProps: any, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode) => string | number | boolean | React.ReactFragment | JSX.Element | null;
    renderFooterToolbar: (childProps: Record<string, any>, toolbarRenderer?: (toolbar: SchemaNode, index: number) => React.ReactNode) => string | number | boolean | React.ReactFragment | JSX.Element | null;
    hasBulkActionsToolbar: () => boolean;
    hasBulkActions: () => number | false;
    hasLoadMore: () => boolean | undefined;
};
