import type { IEditor } from '@visactor/vtable-editors';
import type { IImageStyleOption, ITextStyleOption } from '../column';
import type { ShowColumnRowType } from '../table-engine';
import type { BaseCellInfo } from '../common';
import type { BaseTableAPI } from '../base-table';
import type { ICustomLayout, ICustomRender } from '../index';
interface IBasicCornerDefine {
    titleOnDimension?: ShowColumnRowType;
    customRender?: ICustomRender;
    customLayout?: ICustomLayout;
    disableHeaderHover?: boolean;
    disableHeaderSelect?: boolean;
    forceShowHeader?: boolean;
}
interface ITextCornerDefine extends IBasicCornerDefine {
    headerType?: 'text';
    headerStyle?: Omit<ITextStyleOption, 'textStick'>;
    headerEditor?: string | IEditor | ((args: BaseCellInfo & {
        table: BaseTableAPI;
    }) => string | IEditor);
}
interface IImageCornerDefine extends IBasicCornerDefine {
    headerType: 'image';
    headerStyle?: Omit<IImageStyleOption, 'textStick'>;
    headerEditor?: string | IEditor | ((args: BaseCellInfo & {
        table: BaseTableAPI;
    }) => string | IEditor);
}
interface ILinkCornerDefine extends IBasicCornerDefine {
    headerType: 'link';
    headerStyle?: Omit<ITextStyleOption, 'textStick'>;
    headerEditor?: string | IEditor | ((args: BaseCellInfo & {
        table: BaseTableAPI;
    }) => string | IEditor);
}
export type ICornerDefine = IImageCornerDefine | ILinkCornerDefine | ITextCornerDefine;
export {};
