import type { Cell } from '@fortune-sheet/core'; import type { WorkSpreadsheetContent } from '../work-types'; import { type SpreadsheetUnderlineStyle } from '../work-spreadsheet-underline'; import type { XlsxGradientFill } from '../work-xlsx-gradient-fill'; import type { XlsxPatternFill } from '../work-xlsx-pattern-fill'; import { type SpreadsheetCellBorderFormat, type SpreadsheetCellBorderStyle } from './spreadsheet-cell-border'; import { type SpreadsheetCellFormatPatch, type SpreadsheetHorizontalAlignment, type SpreadsheetVerticalAlignment } from './spreadsheet-cell-format'; import { type SpreadsheetCellFillFormat } from './spreadsheet-cell-fill-format'; import { type SpreadsheetCellRange } from './spreadsheet-cell-range'; export { spreadsheetFormatCellsTabs, type SpreadsheetFormatCellsTabId, } from './spreadsheet-format-cells-intent'; export interface SpreadsheetFormatCellsField { value: T; mixed: boolean; } export interface SpreadsheetFormatCellsFields { numberFormat: SpreadsheetFormatCellsField; horizontalAlignment: SpreadsheetFormatCellsField; verticalAlignment: SpreadsheetFormatCellsField; wrapText: SpreadsheetFormatCellsField; rotation: SpreadsheetFormatCellsField; fontFamily: SpreadsheetFormatCellsField; fontSize: SpreadsheetFormatCellsField; fontColor: SpreadsheetFormatCellsField; bold: SpreadsheetFormatCellsField; italic: SpreadsheetFormatCellsField; underline: SpreadsheetFormatCellsField; strike: SpreadsheetFormatCellsField; fill: SpreadsheetFormatCellsField; borders: SpreadsheetFormatCellsField; locked: SpreadsheetFormatCellsField; hidden: SpreadsheetFormatCellsField; } export interface SpreadsheetFormatCellsDialogSource { sheetId: string; range: SpreadsheetCellRange; activeCell: Cell | null; fields: SpreadsheetFormatCellsFields; } export interface SpreadsheetFormatCellsDraft { numberFormat: string; horizontalAlignment: SpreadsheetHorizontalAlignment; verticalAlignment: SpreadsheetVerticalAlignment; wrapText: boolean; rotation: number; fontFamily: string; fontSize: number; fontColor: string; bold: boolean; italic: boolean; underline: SpreadsheetUnderlineStyle; strike: boolean; fill: SpreadsheetFormatCellsFillDraft; borders: SpreadsheetCellBorderFormat[]; borderColor: string; borderStyle: SpreadsheetCellBorderStyle; locked: boolean; hidden: boolean; } export interface SpreadsheetFormatCellsFillDraft { gradient: XlsxGradientFill; mode: SpreadsheetCellFillFormat['kind']; pattern: XlsxPatternFill; solidColor: string; } export type SpreadsheetFormatCellsTouched = Partial>; export interface SpreadsheetFormatCellsDraftErrors { fill?: string; numberFormat?: string; fontSize?: string; rotation?: string; } export declare function createSpreadsheetFormatCellsDialogSource(content: WorkSpreadsheetContent, sheetId: string, rangeInput: SpreadsheetCellRange, cells: readonly (readonly (Cell | null)[])[], requestedActiveCell: { row: number; column: number; }): SpreadsheetFormatCellsDialogSource | null; export declare function createSpreadsheetFormatCellsDraft(source: SpreadsheetFormatCellsDialogSource): SpreadsheetFormatCellsDraft; export declare function spreadsheetFormatCellsPatch(source: SpreadsheetFormatCellsDialogSource, draft: SpreadsheetFormatCellsDraft, touched: SpreadsheetFormatCellsTouched): SpreadsheetCellFormatPatch; export declare function spreadsheetFormatCellsDraftErrors(draft: SpreadsheetFormatCellsDraft): SpreadsheetFormatCellsDraftErrors; export declare function spreadsheetFormatCellsActiveFill(draft: SpreadsheetFormatCellsDraft): SpreadsheetCellFillFormat;