import type { IDocumentData } from '@univerjs/core'; export declare const SLIDE_TABLE_PLUGIN_NAME = "SLIDE_TABLE_PLUGIN"; export interface ISlideTableResource { version: 1; tables: Record; themes: Record; } export interface ISlideTableSnapshot { id: string; rev: number; name?: string; description?: string; styleId?: string; options: ISlideTableStyleOptions; columns: ISlideTableColumn[]; rows: ISlideTableRow[]; custom?: Record | null; } export interface ISlideTableStyleOptions { firstRow?: boolean; firstCol?: boolean; lastRow?: boolean; lastCol?: boolean; bandRow?: boolean; bandCol?: boolean; } export interface ISlideTableColumn { width: number; } export interface ISlideTableRow { height?: number; cells: ISlideTableCell[]; } export interface ISlideTableCell { textData?: IDocumentData; rowSpan?: number; columnSpan?: number; hMerge?: boolean; vMerge?: boolean; style?: ISlideTableCellStyle; custom?: Record | null; } export interface ISlideTableCellStyle { fill?: ISlideTableFill; borders?: ISlideTableCellBorders; margins?: ISlideTableCellMargins; verticalAlign?: 'top' | 'middle' | 'bottom'; textDirection?: 'horizontal' | 'vertical' | 'vertical270'; } export interface ISlideTableFill { type?: 'none' | 'solid' | 'gradient' | 'picture'; color?: string; themeColor?: string; alpha?: number; gradient?: ISlideTableGradientFill; picture?: ISlideTablePictureFill; } export interface ISlideTableGradientStop { color: string; offset: number; opacity?: number; } export interface ISlideTableGradientFill { type?: 'linear' | 'radial' | 'angular' | 'diamond'; angle?: number; stops?: ISlideTableGradientStop[]; } export interface ISlideTablePictureFill { source?: string; sourceType?: string; opacity?: number; mode?: 'stretch' | 'tile'; } export interface ISlideTableCellBorders { top?: ISlideTableBorder; right?: ISlideTableBorder; bottom?: ISlideTableBorder; left?: ISlideTableBorder; insideH?: ISlideTableBorder; insideV?: ISlideTableBorder; } export interface ISlideTableBorder { color?: string; themeColor?: string; width?: number; dash?: 'solid' | 'dash' | 'dot' | 'dashDot' | 'none'; } export interface ISlideTableCellMargins { left?: number; right?: number; top?: number; bottom?: number; } export interface ISlideTableThemeSnapshot { id: string; name?: string; wholeTable?: ISlideTableCellStyle; firstRow?: ISlideTableCellStyle; firstCol?: ISlideTableCellStyle; lastRow?: ISlideTableCellStyle; lastCol?: ISlideTableCellStyle; bandRow?: ISlideTableCellStyle; bandCol?: ISlideTableCellStyle; custom?: Record | null; } export interface ISlideTableCellRange { startRow: number; endRow: number; startColumn: number; endColumn: number; }