import type { BaseTableAPI } from '../ts-types/base-table'; import { type CellRange, type ColumnStyleOption, type CustomCellStyle, type CustomCellStyleArrangement } from '../ts-types'; import type { Style } from '../body-helper/style'; import type { StylePropertyFunctionArg } from '../ts-types/style-define'; export interface ICustomCellStylePlugin { new (table: BaseTableAPI, customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]): CustomCellStylePlugin; } export declare class CustomCellStylePlugin { table: BaseTableAPI; customCellStyle: CustomCellStyle[]; customCellStyleArrangement: CustomCellStyleArrangement[]; private _customCellStyleArrangementIndex; private _customCellStyleArrangementTombstoneCount; constructor(table: BaseTableAPI, customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]); private _getCustomCellStyleArrangementKey; private _rebuildCustomCellStyleArrangementIndex; private _compactCustomCellStyleArrangementIfNeeded; clearCustomCellStyleArrangement(): void; addCustomCellStyleArrangement(cellPosition: { col: number; row: number; }, customStyleId: string | undefined | null): void; getCustomCellStyle(col: number, row: number): any; getCustomCellStyleIds(col: number, row: number): string[]; getCustomCellStyleOption(customStyleId: string): CustomCellStyle; registerCustomCellStyle(customStyleId: string, customStyle: ColumnStyleOption | ((styleArg: StylePropertyFunctionArg) => ColumnStyleOption) | undefined | null): void; arrangeCustomCellStyle(cellPos: { col?: number; row?: number; range?: CellRange; }, customStyleId: string | undefined | null, forceFastUpdate?: boolean): void; updateCustomCell(customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]): void; hasCustomCellStyle(customStyleId: string): boolean; } export declare function mergeStyle(cacheStyle: Style, customCellStyle: ColumnStyleOption): Style; export declare const registerCustomCellStylePlugin: () => void;