import { Group } from './../../vrender';
import type { CustomRenderFunctionArg, ICustomLayoutFuc } from '../../ts-types';
import type { BaseTableAPI } from '../../ts-types/base-table';
export declare function emptyCustomLayout(args: CustomRenderFunctionArg): {
    rootContainer: Group;
    renderDefault: boolean;
};
export declare class ReactCustomLayout {
    removeAllContainer: () => void;
    table: BaseTableAPI;
    customLayoutFuncCache: Map<string, ICustomLayoutFuc>;
    reactRemoveGraphicCache: Map<string, (col: number, row: number) => void>;
    reactRemoveAllGraphicCache: Map<string, () => void>;
    headerCustomLayoutFuncCache: Map<string, ICustomLayoutFuc>;
    headerReactRemoveGraphicCache: Map<string, (col: number, row: number) => void>;
    headerReactRemoveAllGraphicCache: Map<string, () => void>;
    constructor(table: BaseTableAPI);
    hasReactCreateGraphic(componentId: string, isHeaderCustomLayout?: boolean): boolean;
    setReactCreateGraphic(componentId: string, createGraphic: ICustomLayoutFuc, isHeaderCustomLayout?: boolean): void;
    setReactRemoveGraphic(componentId: string, removeGraphic: (col: number, row: number) => void, isHeaderCustomLayout?: boolean): void;
    setReactRemoveAllGraphic(componentId: string, removeGraphic: () => void, isHeaderCustomLayout?: boolean): void;
    updateCustomCell(componentId: string, isHeaderCustomLayout?: boolean): void;
    getCustomLayoutFunc(col: number, row: number): ICustomLayoutFuc | typeof emptyCustomLayout;
    removeCustomCell(col: number, row: number): void;
    clearCache(): void;
    updateAllCustomCell(): void;
}
