import { Table, CellRange, TableStyles } from 'fittable-core/model'; import { TableChanges, TableChangesFactory, Args } from 'fittable-core/operations'; import { StyleChange } from '../../table-change-writter/style/style-change-writter.js'; export type BorderLocation = 'none' | 'all' | 'around' | 'cross' | 'left' | 'center' | 'right' | 'top' | 'middle' | 'bottom'; export type BorderType = 'solid' | 'dotted' | 'dashed'; export type BorderStyle = { location: BorderLocation; thickness: number; type: BorderType; color: string; }; export type StyleBorderArgs = Args<'style-border'> & { selectedCells: CellRange[]; borderStyle: BorderStyle; }; export type BorderName = 'border-left' | 'border-top' | 'border-right' | 'border-bottom'; export declare class StyleBorderChangesBuilder { private readonly table; private readonly args; readonly styleChange: StyleChange; readonly styleUndoChange: StyleChange; private readonly changes; private newBorders; constructor(table: Table & TableStyles, args: StyleBorderArgs); build(): TableChanges; private prepareNewBorders; private prepareBordersBottom; private createBorderStyle; private prepareBordersTop; private prepareBordersRight; private prepareBordersLeft; private prepareBordersMiddle; private createBordersMiddleStyle; private prepareBordersCenter; private createBordersCenterStyle; private prepareBordersCross; private prepareBordersArround; private setBorder; private prepareBordersAll; private prepareBordersNone; private borderValueAsCss; private defineBorderStyles; } export declare class StyleBorderChangesFactory implements TableChangesFactory { createTableChanges(table: Table & TableStyles, args: StyleBorderArgs): TableChanges | Promise; }