/// <reference types="react" />
import { ProTableActionType } from '../typing';
import { ProTableProps, ProTableColumnProps } from '..';
export declare function actionRefUseStateOn(callback: any, state: string, ...args: any): void;
/** table 组件内监听 不对外暴露 */
export declare function on(fun: any, key: string): void;
/** table 组件内销毁监听 不对外暴露 */
export declare function off(key: string): void;
/** table 组件内触发事件 不对外暴露 */
export declare function emit(key: string, ...args: any): void;
export declare function initActionRef(ref: React.MutableRefObject<ProTableActionType | undefined>, action: ProTableActionType): void;
export declare function useActionType<T>(ref: React.MutableRefObject<ProTableActionType | undefined>, action: ProTableActionType): {
    fullScreen?: (() => boolean) | undefined;
    setColumn?: ((newColumns: ProTableColumnProps[], update?: boolean | undefined) => void) | undefined;
    size?: "medium" | "small" | undefined;
    setSize?: ((mode: "medium" | "small") => void) | undefined;
    refresh?: ((params?: any) => void) | undefined;
    request?: ((params?: any) => void) | undefined;
    reset?: (() => void) | undefined;
    rowSelection?: import("..").innerRowSelectionType | ({
        getProps?: ((record: any, index: number) => any) | undefined;
        onChange?: ((selectedRowKeys: any[], records: any[]) => void) | undefined;
        onSelect?: ((selected: boolean, record: any, records: any[]) => void) | undefined;
        onSelectAll?: ((selected: boolean, records: any[]) => void) | undefined;
        selectedRowKeys?: any[] | undefined;
        selectedRecords?: any[] | undefined;
        mode?: "multiple" | "single" | undefined;
        titleProps?: (() => any) | undefined;
        columnProps?: (() => any) | undefined;
        titleAddons?: (() => any) | undefined;
        defaultSelectedRowKeys?: any[] | undefined;
        defaultSelectedRecords?: any[] | undefined;
    } & {
        getProps?: ((record: any, index: number) => void) | undefined;
        onChange?: ((selectedRowKeys: any[], records: any[]) => void) | undefined;
        onSelect?: ((selected: boolean, record: any, records: any[]) => void) | undefined;
        onSelectAll?: ((selected: boolean, records: any[]) => void) | undefined;
        selectedRowKeys?: any[] | undefined;
        mode?: "multiple" | "single" | undefined;
        titleProps?: (() => any) | undefined;
        columnProps?: (() => any) | undefined;
        titleAddons?: (() => any) | undefined;
    }) | undefined;
    clearRowSelection?: (() => void) | undefined;
    filterDataSource?: ((dataIndex: string) => void) | undefined;
    pageInfo?: {
        total?: number | undefined;
        current?: number | undefined;
        pageSize?: number | undefined;
        targetPageKey?: string | undefined;
        targetPageSizeKey?: string | undefined;
    } | undefined;
    resetPage?: (() => void) | undefined;
    nextPage?: (() => void) | undefined;
    dataFilterForm?: import("../..").ProFormType | undefined;
    dataFilterFormRef?: import("react").MutableRefObject<import("../..").ProFormType> | undefined;
    normalDataFilterForm?: import("../..").ProFormType | undefined;
    fullscreenDataFilterForm?: import("../..").ProFormType | undefined;
    filterEnableRef?: any;
    data?: any[] | undefined;
    switchView?: ((view: "table" | "card") => void) | undefined;
    setData?: ((data: any[]) => void) | undefined;
    setCardViewScrollPosition?: ((scrollTop: number) => void) | undefined;
    setAutoRefreshTimers?: ((timers: number) => void) | undefined;
    clearAutoRefreshTimers?: (() => void) | undefined;
    getState?: (() => import("..").ProTableActionTypeState) | undefined;
    setState?: ((key: string, value: any) => void) | undefined;
    setFullScreenState?: ((state: boolean) => void) | undefined;
    on?: ((...args: any) => void) | undefined;
    off?: ((...args: any) => void) | undefined;
    setFilterRules?: ((rules: import("..").ProTableColumnsFilterRulesItem) => void) | undefined;
    getFilterRules?: (() => object) | undefined;
    resetTableMaxBodyHeight?: ((offset: number) => void) | undefined;
    filterColumns?: any[] | undefined;
    getCallback?: (() => any) | undefined;
};
export declare function cloneDeep<T>(obj: T): T;
/**
 * 处理默认过滤参数
 * @param columns
 * @param ref
 */
export declare function processDefaultFilter(columns: ProTableColumnProps[], ref: React.MutableRefObject<ProTableActionType | undefined>, defaultFilterParams: ProTableProps['defaultFilterParams']): void;
