import { type Color } from './colors'; export type SideStyle = 'none' | 'thin' | 'medium' | 'thick' | 'double' | 'hair' | 'dotted' | 'dashed' | 'dashDot' | 'dashDotDot' | 'mediumDashed' | 'mediumDashDot' | 'mediumDashDotDot' | 'slantDashDot'; export declare const SIDE_STYLES: ReadonlyArray; export interface Side { readonly style?: SideStyle; readonly color?: Color; } /** Build an immutable {@link Side}. */ export declare function makeSide(opts?: Partial): Side; export interface Border { /** Left edge. */ readonly left?: Side; readonly right?: Side; readonly top?: Side; readonly bottom?: Side; /** Diagonal stroke (governed together with diagonalUp / diagonalDown). */ readonly diagonal?: Side; /** Vertical stroke between cells of a merged range. */ readonly vertical?: Side; /** Horizontal stroke between cells of a merged range. */ readonly horizontal?: Side; readonly diagonalUp?: boolean; readonly diagonalDown?: boolean; /** Outline-only flag; defaults to true. */ readonly outline?: boolean; } /** Build an immutable {@link Border}. */ export declare function makeBorder(opts?: Partial): Border; /** Default empty side — convenient sentinel for `no edge stroke`. */ export declare const EMPTY_SIDE: Side; /** Default empty border — every cell starts here until styled otherwise. */ export declare const DEFAULT_BORDER: Border; /** * Translate a {@link Border} to a CSS-property record suitable for HTML * preview. Each present side becomes `border-: