You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					2018 lines
				
				49 KiB
			
		
		
			
		
	
	
					2018 lines
				
				49 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								declare interface Buffer extends ArrayBuffer { }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum RelationshipType {
							 | 
						||
| 
								 | 
							
									None = 0,
							 | 
						||
| 
								 | 
							
									OfficeDocument = 1,
							 | 
						||
| 
								 | 
							
									Worksheet = 2,
							 | 
						||
| 
								 | 
							
									CalcChain = 3,
							 | 
						||
| 
								 | 
							
									SharedStrings = 4,
							 | 
						||
| 
								 | 
							
									Styles = 5,
							 | 
						||
| 
								 | 
							
									Theme = 6,
							 | 
						||
| 
								 | 
							
									Hyperlink = 7
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum DocumentType {
							 | 
						||
| 
								 | 
							
									Xlsx = 1
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export const enum PaperSize {
							 | 
						||
| 
								 | 
							
									Legal = 5,
							 | 
						||
| 
								 | 
							
									Executive = 7,
							 | 
						||
| 
								 | 
							
									A4 = 9,
							 | 
						||
| 
								 | 
							
									A5 = 11,
							 | 
						||
| 
								 | 
							
									B5 = 13,
							 | 
						||
| 
								 | 
							
									Envelope_10 = 20,
							 | 
						||
| 
								 | 
							
									Envelope_DL = 27,
							 | 
						||
| 
								 | 
							
									Envelope_C5 = 28,
							 | 
						||
| 
								 | 
							
									Envelope_B5 = 34,
							 | 
						||
| 
								 | 
							
									Envelope_Monarch = 37,
							 | 
						||
| 
								 | 
							
									Double_Japan_Postcard_Rotated = 82,
							 | 
						||
| 
								 | 
							
									K16_197x273_mm = 119,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetViewCommon {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Sets the worksheet view's orientation to right-to-left, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									rightToLeft: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The currently selected cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									activeCell: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Shows or hides the ruler in Page Layout, `true` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									showRuler: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Shows or hides the row and column headers (e.g. A1, B1 at the top and 1,2,3 on the left,
							 | 
						||
| 
								 | 
							
									 * `true` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									showRowColHeaders: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Shows or hides the gridlines (shown for cells where borders have not been defined),
							 | 
						||
| 
								 | 
							
									 * `true` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									showGridLines: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * 	Percentage zoom to use for the view, `100` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									zoomScale: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * 	Normal zoom for the view, `100` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									zoomScaleNormal: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetViewNormal {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Controls the view state
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									state: 'normal';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Presentation style
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style: 'pageBreakPreview' | 'pageLayout';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetViewFrozen {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Where a number of rows and columns to the top and left are frozen in place.
							 | 
						||
| 
								 | 
							
									 * Only the bottom left section will scroll
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									state: 'frozen';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Presentation style
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style?: 'pageBreakPreview';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many columns to freeze. To freeze rows only, set this to 0 or undefined
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									xSplit?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many rows to freeze. To freeze columns only, set this to 0 or undefined
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									ySplit?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Which cell will be top-left in the bottom-right pane. Note: cannot be a frozen cell.
							 | 
						||
| 
								 | 
							
									 * Defaults to first unfrozen cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									topLeftCell?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetViewSplit {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Where the view is split into 4 sections, each semi-independently scrollable.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									state: 'split';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Presentation style
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style?: 'pageBreakPreview' | 'pageLayout';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many points from the left to place the splitter.
							 | 
						||
| 
								 | 
							
									 * To split vertically, set this to 0 or undefined
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									xSplit?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many points from the top to place the splitter.
							 | 
						||
| 
								 | 
							
									 * To split horizontally, set this to 0 or undefined
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									ySplit?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Which cell will be top-left in the bottom-right pane
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									topLeftCell?: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Which pane will be active
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									activePane?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type WorksheetView =
							 | 
						||
| 
								 | 
							
									& WorksheetViewCommon
							 | 
						||
| 
								 | 
							
									& (WorksheetViewNormal | WorksheetViewFrozen | WorksheetViewSplit);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorkbookView {
							 | 
						||
| 
								 | 
							
									x: number;
							 | 
						||
| 
								 | 
							
									y: number;
							 | 
						||
| 
								 | 
							
									width: number;
							 | 
						||
| 
								 | 
							
									height: number;
							 | 
						||
| 
								 | 
							
									firstSheet: number;
							 | 
						||
| 
								 | 
							
									activeTab: number;
							 | 
						||
| 
								 | 
							
									visibility: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type FillPatterns =
							 | 
						||
| 
								 | 
							
									| 'none' | 'solid'
							 | 
						||
| 
								 | 
							
									| 'darkVertical' | 'darkHorizontal' | 'darkGrid' | 'darkTrellis' | 'darkDown' | 'darkUp'
							 | 
						||
| 
								 | 
							
									| 'lightVertical' | 'lightHorizontal' | 'lightGrid' | 'lightTrellis' | 'lightDown' | 'lightUp'
							 | 
						||
| 
								 | 
							
									| 'darkGray' | 'mediumGray' | 'lightGray' | 'gray125' | 'gray0625';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface FillPattern {
							 | 
						||
| 
								 | 
							
									type: 'pattern';
							 | 
						||
| 
								 | 
							
									pattern: FillPatterns;
							 | 
						||
| 
								 | 
							
									fgColor?: Partial<Color>;
							 | 
						||
| 
								 | 
							
									bgColor?: Partial<Color>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface GradientStop {
							 | 
						||
| 
								 | 
							
									position: number;
							 | 
						||
| 
								 | 
							
									color: Partial<Color>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface FillGradientAngle {
							 | 
						||
| 
								 | 
							
									type: 'gradient';
							 | 
						||
| 
								 | 
							
									gradient: 'angle';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * For 'angle' gradient, specifies the direction of the gradient. 0 is from the left to the right.
							 | 
						||
| 
								 | 
							
									 * Values from 1 - 359 rotates the direction clockwise
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									degree: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Specifies the gradient colour sequence. Is an array of objects containing position and
							 | 
						||
| 
								 | 
							
									 * color starting with position 0 and ending with position 1.
							 | 
						||
| 
								 | 
							
									 * Intermediary positions may be used to specify other colours on the path.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									stops: GradientStop[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface FillGradientPath {
							 | 
						||
| 
								 | 
							
									type: 'gradient';
							 | 
						||
| 
								 | 
							
									gradient: 'path';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * For 'path' gradient. Specifies the relative coordinates for the start of the path.
							 | 
						||
| 
								 | 
							
									 * 'left' and 'top' values range from 0 to 1
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									center: { left: number; top: number };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Specifies the gradient colour sequence. Is an array of objects containing position and
							 | 
						||
| 
								 | 
							
									 * color starting with position 0 and ending with position 1.
							 | 
						||
| 
								 | 
							
									 * Intermediary positions may be used to specify other colours on the path.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									stops: GradientStop[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type Fill = FillPattern | FillGradientAngle | FillGradientPath;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Font {
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									size: number;
							 | 
						||
| 
								 | 
							
									family: number;
							 | 
						||
| 
								 | 
							
									scheme: 'minor' | 'major' | 'none';
							 | 
						||
| 
								 | 
							
									charset: number;
							 | 
						||
| 
								 | 
							
									color: Partial<Color>;
							 | 
						||
| 
								 | 
							
									bold: boolean;
							 | 
						||
| 
								 | 
							
									italic: boolean;
							 | 
						||
| 
								 | 
							
									underline: boolean | 'none' | 'single' | 'double' | 'singleAccounting' | 'doubleAccounting';
							 | 
						||
| 
								 | 
							
									vertAlign: 'superscript' | 'subscript';
							 | 
						||
| 
								 | 
							
									strike: boolean;
							 | 
						||
| 
								 | 
							
									outline: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type BorderStyle =
							 | 
						||
| 
								 | 
							
									| 'thin' | 'dotted' | 'hair' | 'medium' | 'double' | 'thick' | 'dashDot'
							 | 
						||
| 
								 | 
							
									| 'dashDotDot' | 'slantDashDot' | 'mediumDashed' | 'mediumDashDotDot' | 'mediumDashDot';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Color {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Hex string for alpha-red-green-blue e.g. FF00FF00
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									argb: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Choose a theme by index
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									theme: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Border {
							 | 
						||
| 
								 | 
							
									style: BorderStyle;
							 | 
						||
| 
								 | 
							
									color: Partial<Color>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface BorderDiagonal extends Border {
							 | 
						||
| 
								 | 
							
									up: boolean;
							 | 
						||
| 
								 | 
							
									down: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Borders {
							 | 
						||
| 
								 | 
							
									top: Partial<Border>;
							 | 
						||
| 
								 | 
							
									left: Partial<Border>;
							 | 
						||
| 
								 | 
							
									bottom: Partial<Border>;
							 | 
						||
| 
								 | 
							
									right: Partial<Border>;
							 | 
						||
| 
								 | 
							
									diagonal: Partial<BorderDiagonal>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Margins {
							 | 
						||
| 
								 | 
							
									top: number;
							 | 
						||
| 
								 | 
							
									left: number;
							 | 
						||
| 
								 | 
							
									bottom: number;
							 | 
						||
| 
								 | 
							
									right: number;
							 | 
						||
| 
								 | 
							
									header: number;
							 | 
						||
| 
								 | 
							
									footer: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum ReadingOrder {
							 | 
						||
| 
								 | 
							
									LeftToRight = 1,
							 | 
						||
| 
								 | 
							
									RightToLeft = 2,
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Alignment {
							 | 
						||
| 
								 | 
							
									horizontal: 'left' | 'center' | 'right' | 'fill' | 'justify' | 'centerContinuous' | 'distributed';
							 | 
						||
| 
								 | 
							
									vertical: 'top' | 'middle' | 'bottom' | 'distributed' | 'justify';
							 | 
						||
| 
								 | 
							
									wrapText: boolean;
							 | 
						||
| 
								 | 
							
									shrinkToFit: boolean;
							 | 
						||
| 
								 | 
							
									indent: number;
							 | 
						||
| 
								 | 
							
									readingOrder: 'rtl' | 'ltr';
							 | 
						||
| 
								 | 
							
									textRotation: number | 'vertical';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Protection {
							 | 
						||
| 
								 | 
							
									locked: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Style {
							 | 
						||
| 
								 | 
							
									numFmt: string;
							 | 
						||
| 
								 | 
							
									font: Partial<Font>;
							 | 
						||
| 
								 | 
							
									alignment: Partial<Alignment>;
							 | 
						||
| 
								 | 
							
									protection: Partial<Protection>;
							 | 
						||
| 
								 | 
							
									border: Partial<Borders>;
							 | 
						||
| 
								 | 
							
									fill: Fill;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type DataValidationOperator =
							 | 
						||
| 
								 | 
							
									| 'between' | 'notBetween' | 'equal' | 'notEqual' | 'greaterThan' | 'lessThan'
							 | 
						||
| 
								 | 
							
									| 'greaterThanOrEqual' | 'lessThanOrEqual';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface DataValidation {
							 | 
						||
| 
								 | 
							
									type: 'list' | 'whole' | 'decimal' | 'date' | 'textLength' | 'custom';
							 | 
						||
| 
								 | 
							
									formulae: any[];
							 | 
						||
| 
								 | 
							
									allowBlank?: boolean;
							 | 
						||
| 
								 | 
							
									operator?: DataValidationOperator;
							 | 
						||
| 
								 | 
							
									error?: string;
							 | 
						||
| 
								 | 
							
									errorTitle?: string;
							 | 
						||
| 
								 | 
							
									errorStyle?: string;
							 | 
						||
| 
								 | 
							
									prompt?: string;
							 | 
						||
| 
								 | 
							
									promptTitle?: string;
							 | 
						||
| 
								 | 
							
									showErrorMessage?: boolean;
							 | 
						||
| 
								 | 
							
									showInputMessage?: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum ErrorValue {
							 | 
						||
| 
								 | 
							
									NotApplicable = '#N/A',
							 | 
						||
| 
								 | 
							
									Ref = '#REF!',
							 | 
						||
| 
								 | 
							
									Name = '#NAME?',
							 | 
						||
| 
								 | 
							
									DivZero = '#DIV/0!',
							 | 
						||
| 
								 | 
							
									Null = '#NULL!',
							 | 
						||
| 
								 | 
							
									Value = '#VALUE!',
							 | 
						||
| 
								 | 
							
									Num = '#NUM!',
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellErrorValue {
							 | 
						||
| 
								 | 
							
									error: '#N/A' | '#REF!' | '#NAME?' | '#DIV/0!' | '#NULL!' | '#VALUE!' | '#NUM!';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface RichText {
							 | 
						||
| 
								 | 
							
									text: string;
							 | 
						||
| 
								 | 
							
									font?: Partial<Font>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellRichTextValue {
							 | 
						||
| 
								 | 
							
									richText: RichText[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellHyperlinkValue {
							 | 
						||
| 
								 | 
							
									text: string;
							 | 
						||
| 
								 | 
							
									hyperlink: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellFormulaValue {
							 | 
						||
| 
								 | 
							
									formula: string;
							 | 
						||
| 
								 | 
							
									result?: number | string | Date | { error: CellErrorValue };
							 | 
						||
| 
								 | 
							
									date1904: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellSharedFormulaValue {
							 | 
						||
| 
								 | 
							
									sharedFormula: string;
							 | 
						||
| 
								 | 
							
									readonly formula?: string;
							 | 
						||
| 
								 | 
							
									result?: number | string | Date | { error: CellErrorValue };
							 | 
						||
| 
								 | 
							
									date1904: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum ValueType {
							 | 
						||
| 
								 | 
							
									Null = 0,
							 | 
						||
| 
								 | 
							
									Merge = 1,
							 | 
						||
| 
								 | 
							
									Number = 2,
							 | 
						||
| 
								 | 
							
									String = 3,
							 | 
						||
| 
								 | 
							
									Date = 4,
							 | 
						||
| 
								 | 
							
									Hyperlink = 5,
							 | 
						||
| 
								 | 
							
									Formula = 6,
							 | 
						||
| 
								 | 
							
									SharedString = 7,
							 | 
						||
| 
								 | 
							
									RichText = 8,
							 | 
						||
| 
								 | 
							
									Boolean = 9,
							 | 
						||
| 
								 | 
							
									Error = 10
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export declare enum FormulaType {
							 | 
						||
| 
								 | 
							
									None = 0,
							 | 
						||
| 
								 | 
							
									Master = 1,
							 | 
						||
| 
								 | 
							
									Shared = 2
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CellValue =
							 | 
						||
| 
								 | 
							
									| null | number | string | boolean | Date | undefined
							 | 
						||
| 
								 | 
							
									| CellErrorValue
							 | 
						||
| 
								 | 
							
									| CellRichTextValue | CellHyperlinkValue
							 | 
						||
| 
								 | 
							
									| CellFormulaValue | CellSharedFormulaValue;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									export interface CommentMargins {
							 | 
						||
| 
								 | 
							
										insetmode: 'auto' | 'custom';
							 | 
						||
| 
								 | 
							
										inset: Number[];
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									export interface CommentProtection {
							 | 
						||
| 
								 | 
							
										locked: 'True' | 'False';
							 | 
						||
| 
								 | 
							
										lockText: 'True' | 'False';
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									export type CommentEditAs = 'twoCells' | 'oneCells' | 'absolute';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									export interface Comment {
							 | 
						||
| 
								 | 
							
										texts?: RichText[];
							 | 
						||
| 
								 | 
							
										margins?: Partial<CommentMargins>;
							 | 
						||
| 
								 | 
							
										protection?: Partial<CommentProtection>;
							 | 
						||
| 
								 | 
							
										editAs?: CommentEditAs;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellModel {
							 | 
						||
| 
								 | 
							
									address: Address;
							 | 
						||
| 
								 | 
							
									style: Style;
							 | 
						||
| 
								 | 
							
									type: ValueType;
							 | 
						||
| 
								 | 
							
									text?: string;
							 | 
						||
| 
								 | 
							
									hyperlink?: string;
							 | 
						||
| 
								 | 
							
									value?: CellValue;
							 | 
						||
| 
								 | 
							
									master: string;
							 | 
						||
| 
								 | 
							
									formula?: string;
							 | 
						||
| 
								 | 
							
									sharedFormula?: string;
							 | 
						||
| 
								 | 
							
									result?: string | number | any;
							 | 
						||
| 
								 | 
							
									comment: Comment;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Cell extends Style, Address {
							 | 
						||
| 
								 | 
							
									readonly worksheet: Worksheet;
							 | 
						||
| 
								 | 
							
									readonly workbook: Workbook;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									readonly effectiveType: ValueType;
							 | 
						||
| 
								 | 
							
									readonly isMerged: boolean;
							 | 
						||
| 
								 | 
							
									readonly master: Cell;
							 | 
						||
| 
								 | 
							
									readonly isHyperlink: boolean;
							 | 
						||
| 
								 | 
							
									readonly hyperlink: string;	// todo
							 | 
						||
| 
								 | 
							
									readonly text: string;
							 | 
						||
| 
								 | 
							
									readonly fullAddress: {
							 | 
						||
| 
								 | 
							
										sheetName: string;
							 | 
						||
| 
								 | 
							
										address: string;
							 | 
						||
| 
								 | 
							
										row: number;
							 | 
						||
| 
								 | 
							
										col: number;
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
									model: CellModel;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Assign (or get) a name for a cell (will overwrite any other names that cell had)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Assign (or get) an array of names for a cell (cells can have more than one name)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									names: string[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Cells can define what values are valid or not and provide
							 | 
						||
| 
								 | 
							
									 * prompting to the user to help guide them.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									dataValidation: DataValidation;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Value of the cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									value: CellValue;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * comment of the cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									note: string | Comment;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * convenience getter to access the formula
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly formula: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * convenience getter to access the formula result
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly result: number | string | Date;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The type of the cell's value
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly type: ValueType;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The type of the cell's formula
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly formulaType: FormulaType;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The styles of the cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style: Partial<Style>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									addName(name: string): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Remove a name from a cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									removeName(name: string): void;
							 | 
						||
| 
								 | 
							
									removeAllNames(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									destroy(): void;
							 | 
						||
| 
								 | 
							
									toCsvString(): string;
							 | 
						||
| 
								 | 
							
									release(): void;
							 | 
						||
| 
								 | 
							
									addMergeRef(): void;
							 | 
						||
| 
								 | 
							
									releaseMergeRef(): void;
							 | 
						||
| 
								 | 
							
									merge(master: Cell, ignoreStyle?: boolean): void;
							 | 
						||
| 
								 | 
							
									unmerge(): void;
							 | 
						||
| 
								 | 
							
									isMergedTo(master: Cell): boolean;
							 | 
						||
| 
								 | 
							
									toString(): string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface RowModel {
							 | 
						||
| 
								 | 
							
									cells: CellModel[];
							 | 
						||
| 
								 | 
							
									number: number;
							 | 
						||
| 
								 | 
							
									min: number;
							 | 
						||
| 
								 | 
							
									max: number;
							 | 
						||
| 
								 | 
							
									height: number;
							 | 
						||
| 
								 | 
							
									style: Partial<Style>;
							 | 
						||
| 
								 | 
							
									hidden: boolean;
							 | 
						||
| 
								 | 
							
									outlineLevel: number;
							 | 
						||
| 
								 | 
							
									collapsed: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Row extends Style {
							 | 
						||
| 
								 | 
							
									readonly worksheet: Worksheet;
							 | 
						||
| 
								 | 
							
									readonly hasValues: boolean;
							 | 
						||
| 
								 | 
							
									readonly dimensions: number;
							 | 
						||
| 
								 | 
							
									model: Partial<RowModel> | null;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set a specific row height
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									height: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Make row hidden
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									hidden: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get a row as a sparse array
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									// readonly values: CellValue[];
							 | 
						||
| 
								 | 
							
									values: CellValue[] | { [key: string]: CellValue };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set an outline level for rows
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									outlineLevel?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The row number
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly number: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Indicate the collapsed state based on outlineLevel
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly collapsed: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Number of cells including empty ones
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly cellCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Number of non-empty cells
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly actualCellCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get cell by number, column letter or column key
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getCell(indexOrKey: number | string): Cell;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									findCell(colNumber: number): Cell | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getCellEx(address: Address): Cell;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all non-null cells in a row
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachCell(callback: (cell: Cell, colNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all cells in a row (including empty cells)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachCell(opt: { includeEmpty: boolean }, callback: (cell: Cell, colNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Cut one or more cells (cells to the right are shifted left)
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Note: this operation will not affect other rows
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									splice(start: number, count: number, ...insert: any[]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Commit a completed row to stream
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									commit(): void;
							 | 
						||
| 
								 | 
							
									destroy(): void;
							 | 
						||
| 
								 | 
							
									addPageBreak(lft?: number, rght?: number): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Column {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Can be a string to set one row high header or an array to set multi-row high header
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									header?: string | string[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The name of the properties associated with this column in each row
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									key?: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The width of the column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									width?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set an outline level for columns
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									outlineLevel: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Hides the column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									hidden: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Styles applied to the column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style: Partial<Style>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The cell values in the column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									values: ReadonlyArray<CellValue>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Column letter key
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly letter: string;
							 | 
						||
| 
								 | 
							
									readonly number: number;
							 | 
						||
| 
								 | 
							
									readonly worksheet: Worksheet;
							 | 
						||
| 
								 | 
							
									readonly isCustomWidth: boolean;
							 | 
						||
| 
								 | 
							
									readonly headers: string[];
							 | 
						||
| 
								 | 
							
									readonly isDefault: boolean;
							 | 
						||
| 
								 | 
							
									readonly headerCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Below properties read from style
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									border?: Partial<Borders>;
							 | 
						||
| 
								 | 
							
									fill?: Fill;
							 | 
						||
| 
								 | 
							
									numFmt?: string;
							 | 
						||
| 
								 | 
							
									font?: Partial<Font>;
							 | 
						||
| 
								 | 
							
									alignment?: Partial<Alignment>;
							 | 
						||
| 
								 | 
							
									protection?: Partial<Protection>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									toString(): string
							 | 
						||
| 
								 | 
							
									equivalentTo(other: Column): boolean
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * indicate the collapsed state based on outlineLevel
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly collapsed: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all current cells in this column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachCell(callback: (cell: Cell, rowNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all current cells in this column including empty cells
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachCell(opt: { includeEmpty: boolean }, callback: (cell: Cell, rowNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									defn: any; //todo
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface PageSetup {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whitespace on the borders of the page. Units are inches.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									margins: Margins;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Orientation of the page - i.e. taller (`'portrait'`) or wider (`'landscape'`).
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * `'portrait'` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									orientation: 'portrait' | 'landscape';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Horizontal Dots per Inch. Default value is 4294967295
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									horizontalDpi: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Vertical Dots per Inch. Default value is 4294967295
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									verticalDpi: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whether to use fitToWidth and fitToHeight or scale settings.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is based on presence of these settings in the pageSetup object - if both are present,
							 | 
						||
| 
								 | 
							
									 * scale wins (i.e. default will be false)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									fitToPage: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many pages wide the sheet should print on to. Active when fitToPage is true
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is 1
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									fitToWidth: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * How many pages high the sheet should print on to. Active when fitToPage is true
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is 1
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									fitToHeight: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Percentage value to increase or reduce the size of the print. Active when fitToPage is false
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is 100
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									scale: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Which order to print the pages.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is `downThenOver`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									pageOrder: 'downThenOver' | 'overThenDown';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Print without colour
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * false by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									blackAndWhite: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Print with less quality (and ink)
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * false by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									draft: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Where to place comments
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is `None`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									cellComments: 'atEnd' | 'asDisplayed' | 'None';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Where to show errors
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Default is `displayed`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									errors: 'dash' | 'blank' | 'NA' | 'displayed';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * 	What paper size to use (see below)
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * | Name                          | Value       |
							 | 
						||
| 
								 | 
							
									 * | ----------------------------- | ---------   |
							 | 
						||
| 
								 | 
							
									 * | Letter                        | `undefined` |
							 | 
						||
| 
								 | 
							
									 * | Legal                         |  `5`        |
							 | 
						||
| 
								 | 
							
									 * | Executive                     |  `7`        |
							 | 
						||
| 
								 | 
							
									 * | A4                            |  `9`        |
							 | 
						||
| 
								 | 
							
									 * | A5                            |  `11`       |
							 | 
						||
| 
								 | 
							
									 * | B5 (JIS)                      |  `13`       |
							 | 
						||
| 
								 | 
							
									 * | Envelope #10                  |  `20`       |
							 | 
						||
| 
								 | 
							
									 * | Envelope DL                   |  `27`       |
							 | 
						||
| 
								 | 
							
									 * | Envelope C5                   |  `28`       |
							 | 
						||
| 
								 | 
							
									 * | Envelope B5                   |  `34`       |
							 | 
						||
| 
								 | 
							
									 * | Envelope Monarch              |  `37`       |
							 | 
						||
| 
								 | 
							
									 * | Double Japan Postcard Rotated |  `82`       |
							 | 
						||
| 
								 | 
							
									 * | 16K 197x273 mm                |  `119`      |
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									paperSize: PaperSize;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whether to show the row numbers and column letters, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									showRowColHeaders: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whether to show grid lines, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									showGridLines: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Which number to use for the first page
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									firstPageNumber: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * 	Whether to center the sheet data horizontally, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									horizontalCentered: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * 	Whether to center the sheet data vertically, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									verticalCentered: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set Print Area for a sheet, e.g. `'A1:G20'`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									printArea: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Repeat specific rows on every printed page, e.g. `'1:3'`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									printTitlesRow: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Repeat specific columns on every printed page, e.g. `'A:C'`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									printTitlesColumn: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface HeaderFooter {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set the value of differentFirst as true, which indicates that headers/footers for first page are different from the other pages, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									differentFirst: boolean,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set the value of differentOddEven as true, which indicates that headers/footers for odd and even pages are different, `false` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									differentOddEven: boolean,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set header string for odd pages, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									oddHeader: string,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set footer string for odd pages, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									oddFooter: string,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set header string for even pages, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									evenHeader: string,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set footer string for even pages, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									evenFooter: string,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set header string for the first page, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									firstHeader: string,
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set footer string for the first page, could format the string and `null` by default
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									firstFooter: string
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type AutoFilter = string | {
							 | 
						||
| 
								 | 
							
									from: string | { row: number; column: number };
							 | 
						||
| 
								 | 
							
									to: string | { row: number; column: number };
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetProtection {
							 | 
						||
| 
								 | 
							
									objects: boolean;
							 | 
						||
| 
								 | 
							
									scenarios: boolean;
							 | 
						||
| 
								 | 
							
									selectLockedCells: boolean;
							 | 
						||
| 
								 | 
							
									selectUnlockedCells: boolean;
							 | 
						||
| 
								 | 
							
									formatCells: boolean;
							 | 
						||
| 
								 | 
							
									formatColumns: boolean;
							 | 
						||
| 
								 | 
							
									formatRows: boolean;
							 | 
						||
| 
								 | 
							
									insertColumns: boolean;
							 | 
						||
| 
								 | 
							
									insertRows: boolean;
							 | 
						||
| 
								 | 
							
									insertHyperlinks: boolean;
							 | 
						||
| 
								 | 
							
									deleteColumns: boolean;
							 | 
						||
| 
								 | 
							
									deleteRows: boolean;
							 | 
						||
| 
								 | 
							
									sort: boolean;
							 | 
						||
| 
								 | 
							
									autoFilter: boolean;
							 | 
						||
| 
								 | 
							
									pivotTables: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface Image {
							 | 
						||
| 
								 | 
							
									extension: 'jpeg' | 'png' | 'gif';
							 | 
						||
| 
								 | 
							
									base64?: string;
							 | 
						||
| 
								 | 
							
									filename?: string;
							 | 
						||
| 
								 | 
							
									buffer?: Buffer;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface IAnchor {
							 | 
						||
| 
								 | 
							
									col: number;
							 | 
						||
| 
								 | 
							
									row: number;
							 | 
						||
| 
								 | 
							
									nativeCol: number;
							 | 
						||
| 
								 | 
							
									nativeRow: number;
							 | 
						||
| 
								 | 
							
									nativeColOff: number;
							 | 
						||
| 
								 | 
							
									nativeRowOff: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export class Anchor implements IAnchor {
							 | 
						||
| 
								 | 
							
									col: number;
							 | 
						||
| 
								 | 
							
									nativeCol: number;
							 | 
						||
| 
								 | 
							
									nativeColOff: number;
							 | 
						||
| 
								 | 
							
									nativeRow: number;
							 | 
						||
| 
								 | 
							
									nativeRowOff: number;
							 | 
						||
| 
								 | 
							
									row: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									private readonly colWidth: number;
							 | 
						||
| 
								 | 
							
									private readonly rowHeight: number;
							 | 
						||
| 
								 | 
							
									worksheet: Worksheet;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									constructor(model?: IAnchor | object);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface ImageRange {
							 | 
						||
| 
								 | 
							
									tl: Anchor;
							 | 
						||
| 
								 | 
							
									br: Anchor;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ImagePosition {
							 | 
						||
| 
								 | 
							
									tl: { col: number; row: number };
							 | 
						||
| 
								 | 
							
									ext: { width: number; height: number };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ImageHyperlinkValue {
							 | 
						||
| 
								 | 
							
									hyperlink: string;
							 | 
						||
| 
								 | 
							
									tooltip?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Range extends Location {
							 | 
						||
| 
								 | 
							
									sheetName: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									tl: string;
							 | 
						||
| 
								 | 
							
									$t$l: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									br: string;
							 | 
						||
| 
								 | 
							
									$b$r: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									range: string;
							 | 
						||
| 
								 | 
							
									$range: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									shortRange: string;
							 | 
						||
| 
								 | 
							
									$shortRange: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									count: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									decode(): void;
							 | 
						||
| 
								 | 
							
									decode(v: Range): void;
							 | 
						||
| 
								 | 
							
									decode(v: string): void;
							 | 
						||
| 
								 | 
							
									decode(v: Location): void;
							 | 
						||
| 
								 | 
							
									decode(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									decode(tl: string, br: string, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									decode(v: [string, string]): void;
							 | 
						||
| 
								 | 
							
									decode(v: [string, string, string]): void;
							 | 
						||
| 
								 | 
							
									decode(v: [number, number, number, number]): void;
							 | 
						||
| 
								 | 
							
									decode(v: [number, number, number, number, string]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									expand(top: number, left: number, bottom: number, right: number): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									expandRow(row: Row): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									expandToAddress(addressStr: string): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									toString(): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									intersects(other: Range): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									contains(addressStr: string): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									containsEx(address: Partial<{
							 | 
						||
| 
								 | 
							
										sheetName: string;
							 | 
						||
| 
								 | 
							
										row: number;
							 | 
						||
| 
								 | 
							
										col: number;
							 | 
						||
| 
								 | 
							
									}>): boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface RowBreak {
							 | 
						||
| 
								 | 
							
									id: number;
							 | 
						||
| 
								 | 
							
									max: number;
							 | 
						||
| 
								 | 
							
									min: number;
							 | 
						||
| 
								 | 
							
									man: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetModel {
							 | 
						||
| 
								 | 
							
									id: number;
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									// dataValidations: this.dataValidations.model,
							 | 
						||
| 
								 | 
							
									properties: WorksheetProperties;
							 | 
						||
| 
								 | 
							
									pageSetup: Partial<PageSetup>;
							 | 
						||
| 
								 | 
							
									headerFooter: Partial<HeaderFooter>;
							 | 
						||
| 
								 | 
							
									rowBreaks: RowBreak[];
							 | 
						||
| 
								 | 
							
									views: WorksheetView[];
							 | 
						||
| 
								 | 
							
									autoFilter: AutoFilter;
							 | 
						||
| 
								 | 
							
									media: Media[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export type WorksheetState = 'visible' | 'hidden' | 'veryHidden';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CellIsOperators = 'equal' | 'greaterThan' | 'lessThan' | 'between';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type ContainsTextOperators = 'containsText' | 'containsBlanks' | 'notContainsBlanks' | 'containsErrors' | 'notContainsErrors';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type TimePeriodTypes = 'lastWeek' | 'thisWeek' | 'nextWeek' | 'yesterday' | 'today' | 'tomorrow' | 'last7Days' | 'lastMonth'
							 | 
						||
| 
								 | 
							
									| 'thisMonth' | 'nextMonth';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type IconSetTypes = '5Arrows' | '5ArrowsGray' | '5Boxes' | '5Quarters' | '5Rating' | '4Arrows' | '4ArrowsGray'
							 | 
						||
| 
								 | 
							
									| '4Rating' | '4RedToBlack' | '4TrafficLights' | 'NoIcons' | '3Arrows' | '3ArrowsGray' | '3Flags' | '3Signs'
							 | 
						||
| 
								 | 
							
									| '3Stars' | '3Symbols' | '3Symbols2' | '3TrafficLights1' | '3TrafficLights2' | '3Triangles';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CfvoTypes = 'percentile' | 'percent' | 'num' | 'min' | 'max' | 'formula' | 'autoMin' | 'autoMax';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Cvfo {
							 | 
						||
| 
								 | 
							
									type: CfvoTypes;
							 | 
						||
| 
								 | 
							
									value?: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									priority: number;
							 | 
						||
| 
								 | 
							
									style?: Partial<Style>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface ExpressionRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'expression';
							 | 
						||
| 
								 | 
							
									formulae?: any[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellIsRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'cellIs';
							 | 
						||
| 
								 | 
							
									formulae?: any[];
							 | 
						||
| 
								 | 
							
									operator?: CellIsOperators;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Top10RuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'top10';
							 | 
						||
| 
								 | 
							
									rank: number;
							 | 
						||
| 
								 | 
							
									percent: boolean;
							 | 
						||
| 
								 | 
							
									bottom: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface AboveAverageRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'aboveAverage';
							 | 
						||
| 
								 | 
							
									aboveAverage: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ColorScaleRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'colorScale';
							 | 
						||
| 
								 | 
							
									cfvo?: Cvfo[];
							 | 
						||
| 
								 | 
							
									color?: Partial<Color>[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface IconSetRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'iconSet';
							 | 
						||
| 
								 | 
							
									showValue?: boolean;
							 | 
						||
| 
								 | 
							
									reverse?: boolean;
							 | 
						||
| 
								 | 
							
									custom?: boolean;
							 | 
						||
| 
								 | 
							
									iconSet?: IconSetTypes;
							 | 
						||
| 
								 | 
							
									cfvo?: Cvfo[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ContainsTextRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'containsText';
							 | 
						||
| 
								 | 
							
									operator?: ContainsTextOperators;
							 | 
						||
| 
								 | 
							
									text?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface TimePeriodRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'timePeriod';
							 | 
						||
| 
								 | 
							
									timePeriod?: TimePeriodTypes;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface DataBarRuleType extends ConditionalFormattingBaseRule {
							 | 
						||
| 
								 | 
							
									type: 'dataBar';
							 | 
						||
| 
								 | 
							
									gradient?: boolean;
							 | 
						||
| 
								 | 
							
									minLength?: number;
							 | 
						||
| 
								 | 
							
									maxLength?: number;
							 | 
						||
| 
								 | 
							
									showValue?: boolean;
							 | 
						||
| 
								 | 
							
									border?: boolean;
							 | 
						||
| 
								 | 
							
									negativeBarColorSameAsPositive?: boolean;
							 | 
						||
| 
								 | 
							
									negativeBarBorderColorSameAsPositive?: boolean;
							 | 
						||
| 
								 | 
							
									axisPosition?: 'auto' | 'middle' | 'none';
							 | 
						||
| 
								 | 
							
									direction?: 'context' | 'leftToRight' | 'rightToLeft';
							 | 
						||
| 
								 | 
							
									cfvo?: Cvfo[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type ConditionalFormattingRule = ExpressionRuleType | CellIsRuleType | Top10RuleType | AboveAverageRuleType | ColorScaleRuleType | IconSetRuleType
							 | 
						||
| 
								 | 
							
									| ContainsTextRuleType | TimePeriodRuleType | DataBarRuleType;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type RowValues = CellValue[] | { [key: string]: CellValue } | undefined | null; 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ConditionalFormattingOptions {
							 | 
						||
| 
								 | 
							
									ref: string;
							 | 
						||
| 
								 | 
							
									rules: ConditionalFormattingRule[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Worksheet {
							 | 
						||
| 
								 | 
							
									readonly id: number;
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									readonly workbook: Workbook;
							 | 
						||
| 
								 | 
							
									readonly hasMerges: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									readonly dimensions: Range;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Contains information related to how a worksheet is printed
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									pageSetup: Partial<PageSetup>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Worksheet Header and Footer
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									headerFooter: Partial<HeaderFooter>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Worksheet State
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									state: WorksheetState;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Worksheet Properties
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									properties: WorksheetProperties;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Open panes representing the sheet
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									views: Array<Partial<WorksheetView>>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Apply an auto filter to your worksheet.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									autoFilter?: AutoFilter;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									destroy(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * A count of the number of rows that have values. If a mid-document row is empty, it will not be included in the count.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly actualRowCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The total column size of the document. Equal to the maximum cell count from all of the rows
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly columnCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get the last column in a worksheet
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly lastColumn: Column;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * A count of the number of columns that have values.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly actualColumnCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getColumnKey(key: string): Column;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									setColumnKey(key: string, value: Column): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									deleteColumnKey(key: string): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									eachColumnKey(callback: (col: Column, index: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Access an individual columns by key, letter and 1-based column number
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getColumn(indexOrKey: number | string): Column;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Cut one or more columns (columns to the right are shifted left)
							 | 
						||
| 
								 | 
							
									 * and optionally insert more
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * If column properties have been definde, they will be cut or moved accordingly
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Known Issue: If a splice causes any merged cells to move, the results may be unpredictable
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Also: If the worksheet has more rows than values in the colulmn inserts,
							 | 
						||
| 
								 | 
							
									 * the rows will still be shifted as if the values existed
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									spliceColumns(start: number, count: number, ...insert: any[][]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add column headers and define column keys and widths.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Note: these column structures are a workbook-building convenience only,
							 | 
						||
| 
								 | 
							
									 * apart from the column width, they will not be fully persisted.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									columns: Array<Partial<Column>>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The total row size of the document. Equal to the row number of the last row that has values.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly rowCount: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get the last editable row in a worksheet (or undefined if there are none)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly lastRow: Row | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Tries to find and return row for row no, else undefined
							 | 
						||
| 
								 | 
							
									 * 
							 | 
						||
| 
								 | 
							
									 * @param row The 1-index row number
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									findRow(row: number): Row | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Tries to find and return rows for row no start and length, else undefined
							 | 
						||
| 
								 | 
							
									 * 
							 | 
						||
| 
								 | 
							
									 * @param start The 1-index starting row number
							 | 
						||
| 
								 | 
							
									 * @param length The length of the expected array
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									findRows(start: number, length: number): Row[] | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Cut one or more rows (rows below are shifted up)
							 | 
						||
| 
								 | 
							
									 * and optionally insert more
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Known Issue: If a splice causes any merged cells to move, the results may be unpredictable
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									spliceRows(start: number, count: number, ...insert: any[][]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add a couple of Rows by key-value, after the last current row, using the column keys,
							 | 
						||
| 
								 | 
							
									 * or add a row by contiguous Array (assign to columns A, B & C)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addRow(data: any[] | any, style?: string): Row;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add multiple rows by providing an array of arrays or key-value pairs
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addRows(rows: any[], style?: string): Row[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Insert a Row by key-value, at the position (shifiting down all rows from position),
							 | 
						||
| 
								 | 
							
									 * using the column keys, or add a row by contiguous Array (assign to columns A, B & C)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									insertRow(pos: number, value: any[] | any, style?: string): Row;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Insert multiple rows at position (shifiting down all rows from position)
							 | 
						||
| 
								 | 
							
									 * by providing an array of arrays or key-value pairs
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									insertRows(pos: number, values: any[], style?: string): Row[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Duplicate rows and insert new rows
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									duplicateRow(rowNum: number, count: number, insert: boolean): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get or create row by 1-based index
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getRow(index: number): Row;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get or create rows by 1-based index
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getRows(start: number, length: number): Row[] | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all rows that have values in a worksheet
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachRow(callback: (row: Row, rowNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all rows (including empty rows) in a worksheet
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachRow(opt: { includeEmpty: boolean }, callback: (row: Row, rowNumber: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * return all rows as sparse array
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getSheetValues(): RowValues[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * returns the cell at [r,c] or address given by r. If not found, return undefined
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									findCell(r: number | string, c: number | string): Cell | undefined;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get or create cell
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getCell(r: number | string, c?: number | string): Cell;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Merge cells, either:
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * tlbr string, e.g. `'A4:B5'`
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * tl string, br string, e.g. `'G10', 'H11'`
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * t, l, b, r numbers, e.g. `10,11,12,13`
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									mergeCells(): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: Range): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: string): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: Location): void;
							 | 
						||
| 
								 | 
							
									mergeCells(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									mergeCells(tl: string, br: string, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: [string, string]): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: [string, string, string]): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: [number, number, number, number]): void;
							 | 
						||
| 
								 | 
							
									mergeCells(v: [number, number, number, number, string]): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: Range): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: string): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: Location): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(tl: string, br: string, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: [string, string]): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: [string, string, string]): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: [number, number, number, number]): void;
							 | 
						||
| 
								 | 
							
									mergeCellsWithoutStyle(v: [number, number, number, number, string]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * unmerging the cells breaks the style links
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									unMergeCells(): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: Range): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: string): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: Location): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(tl: string, br: string, sheetName?: string): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: [string, string]): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: [string, string, string]): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: [number, number, number, number]): void;
							 | 
						||
| 
								 | 
							
									unMergeCells(v: [number, number, number, number, string]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									fillFormula(range: Range | string | Location, formula: string, results?: ((r: number, c: number) => string | number) | number[] | number[][]): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Using the image id from `Workbook.addImage`, set the background to the worksheet
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addBackgroundImage(imageId: number): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getBackgroundImageId(): string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Using the image id from `Workbook.addImage`,
							 | 
						||
| 
								 | 
							
									 * embed an image within the worksheet to cover a range
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addImage(imageId: number, range: string | { editAs?: string; } & ImageRange & { hyperlinks?: ImageHyperlinkValue } | { editAs?: string; } & ImagePosition & { hyperlinks?: ImageHyperlinkValue }): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getImages(): Array<{
							 | 
						||
| 
								 | 
							
										type: 'image',
							 | 
						||
| 
								 | 
							
										imageId: string;
							 | 
						||
| 
								 | 
							
										range: ImageRange;
							 | 
						||
| 
								 | 
							
									}>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									commit(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									model: WorksheetModel;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Worksheet protection
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									protect(password: string, options: Partial<WorksheetProtection>): Promise<void>;
							 | 
						||
| 
								 | 
							
									unprotect(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add a new table and return a reference to it
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addTable(tableProperties: TableProperties): Table;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * fetch table by name or id
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getTable(name: string): Table;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * delete table by name or id
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									removeTable(name: string): void;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 *  fetch table
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getTables(): [Table, void][];
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * add conditionalFormattingOptions
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addConditionalFormatting(cf: ConditionalFormattingOptions): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * delete conditionalFormattingOptions
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									removeConditionalFormatting(filter: any): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CalculationProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Whether the application shall perform a full recalculation when the workbook is opened
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									fullCalcOnLoad: boolean
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorksheetProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Color of the tab
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									tabColor: Partial<Color>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The worksheet column outline level (default: 0)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									outlineLevelCol: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The worksheet row outline level (default: 0)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									outlineLevelRow: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Default row height (default: 15)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									defaultRowHeight: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Default column width (optional)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									defaultColWidth?: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * default: 55
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									dyDescent: number;
							 | 
						||
| 
								 | 
							
									showGridLines: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface AddWorksheetOptions {
							 | 
						||
| 
								 | 
							
									properties: Partial<WorksheetProperties>;
							 | 
						||
| 
								 | 
							
									pageSetup: Partial<PageSetup>;
							 | 
						||
| 
								 | 
							
									headerFooter: Partial<HeaderFooter>;
							 | 
						||
| 
								 | 
							
									views: Array<Partial<WorksheetView>>;
							 | 
						||
| 
								 | 
							
									state: WorksheetState;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorkbookProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Set workbook dates to 1904 date system
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									date1904: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface JSZipGeneratorOptions {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * @default DEFLATE
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									compression: 'STORE' | 'DEFLATE';
							 | 
						||
| 
								 | 
							
									compressionOptions: null | {
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * @default 6
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										level: number;
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface XlsxWriteOptions extends stream.xlsx.WorkbookWriterOptions {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The option passed to JsZip#generateAsync(options)
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									zip: Partial<JSZipGeneratorOptions>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Xlsx {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * read from a file
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readFile(path: string): Promise<Workbook>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * read from a stream
							 | 
						||
| 
								 | 
							
									 * @param stream
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									read(stream: import('stream').Stream): Promise<Workbook>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * load from an array buffer
							 | 
						||
| 
								 | 
							
									 * @param buffer
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									load(buffer: Buffer): Promise<Workbook>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a buffer
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									writeBuffer(options?: Partial<XlsxWriteOptions>): Promise<Buffer>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a file
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									writeFile(path: string, options?: Partial<XlsxWriteOptions>): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a stream
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									write(stream: import('stream').Stream, options?: Partial<XlsxWriteOptions>): Promise<void>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// https://c2fo.io/fast-csv/docs/parsing/options
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type HeaderArray = (string | undefined | null)[];
							 | 
						||
| 
								 | 
							
								type HeaderTransformFunction = (headers: HeaderArray) => HeaderArray;
							 | 
						||
| 
								 | 
							
								export interface FastCsvParserOptionsArgs {
							 | 
						||
| 
								 | 
							
									objectMode: boolean;
							 | 
						||
| 
								 | 
							
									delimiter: string;
							 | 
						||
| 
								 | 
							
									quote: string | null;
							 | 
						||
| 
								 | 
							
									escape: string;
							 | 
						||
| 
								 | 
							
									headers: boolean | HeaderTransformFunction | HeaderArray;
							 | 
						||
| 
								 | 
							
									renameHeaders: boolean;
							 | 
						||
| 
								 | 
							
									ignoreEmpty: boolean;
							 | 
						||
| 
								 | 
							
									comment: string;
							 | 
						||
| 
								 | 
							
									strictColumnHandling: boolean;
							 | 
						||
| 
								 | 
							
									discardUnmappedColumns: boolean;
							 | 
						||
| 
								 | 
							
									trim: boolean;
							 | 
						||
| 
								 | 
							
									ltrim: boolean;
							 | 
						||
| 
								 | 
							
									rtrim: boolean;
							 | 
						||
| 
								 | 
							
									encoding: string;
							 | 
						||
| 
								 | 
							
									maxRows: number;
							 | 
						||
| 
								 | 
							
									skipLines: number;
							 | 
						||
| 
								 | 
							
									skipRows: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface QuoteColumnMap {
							 | 
						||
| 
								 | 
							
									[s: string]: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								declare type QuoteColumns = boolean | boolean[] | QuoteColumnMap;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface RowMap {
							 | 
						||
| 
								 | 
							
									[key: string]: any;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								declare type RowHashArray = [string, any][];
							 | 
						||
| 
								 | 
							
								declare type RowArray = string[];
							 | 
						||
| 
								 | 
							
								declare type Rows = RowArray | RowMap | RowHashArray;
							 | 
						||
| 
								 | 
							
								declare type RowTransformCallback = (error?: Error | null, row?: Rows) => void;
							 | 
						||
| 
								 | 
							
								interface RowTransformFunction {
							 | 
						||
| 
								 | 
							
									(row: Rows, callback: RowTransformCallback): void;
							 | 
						||
| 
								 | 
							
									(row: Rows): Rows;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// https://c2fo.io/fast-csv/docs/formatting/options/
							 | 
						||
| 
								 | 
							
								export interface FastCsvFormatterOptionsArgs {
							 | 
						||
| 
								 | 
							
									objectMode: boolean;
							 | 
						||
| 
								 | 
							
									delimiter: string;
							 | 
						||
| 
								 | 
							
									rowDelimiter: string;
							 | 
						||
| 
								 | 
							
									quote: string | boolean;
							 | 
						||
| 
								 | 
							
									escape: string;
							 | 
						||
| 
								 | 
							
									quoteColumns: QuoteColumns;
							 | 
						||
| 
								 | 
							
									quoteHeaders: QuoteColumns;
							 | 
						||
| 
								 | 
							
									headers: null | boolean | string[];
							 | 
						||
| 
								 | 
							
									includeEndRowDelimiter: boolean;
							 | 
						||
| 
								 | 
							
									writeBOM: boolean;
							 | 
						||
| 
								 | 
							
									transform: RowTransformFunction;
							 | 
						||
| 
								 | 
							
									alwaysWriteHeaders: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CsvReadOptions {
							 | 
						||
| 
								 | 
							
									dateFormats: string[];
							 | 
						||
| 
								 | 
							
									map(value: any, index: number): any;
							 | 
						||
| 
								 | 
							
									sheetName: string;
							 | 
						||
| 
								 | 
							
									parserOptions: Partial<FastCsvParserOptionsArgs>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CsvWriteOptions {
							 | 
						||
| 
								 | 
							
									dateFormat: string;
							 | 
						||
| 
								 | 
							
									dateUTC: boolean;
							 | 
						||
| 
								 | 
							
									sheetName: string;
							 | 
						||
| 
								 | 
							
									sheetId: number;
							 | 
						||
| 
								 | 
							
									encoding: string;
							 | 
						||
| 
								 | 
							
									map(value: any, index: number): any;
							 | 
						||
| 
								 | 
							
									includeEmptyRows: boolean;
							 | 
						||
| 
								 | 
							
									formatterOptions: Partial<FastCsvFormatterOptionsArgs>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Csv {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * read from a file
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readFile(path: string, options?: Partial<CsvReadOptions>): Promise<Worksheet>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * read from a stream
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									read(stream: import('stream').Stream, options?: Partial<CsvReadOptions>): Promise<Worksheet>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Create input stream for reading
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									createInputStream(options?: Partial<CsvReadOptions>): import('events').EventEmitter;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a buffer
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									writeBuffer(options?: Partial<CsvWriteOptions>): Promise<Buffer>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a file
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									writeFile(path: string, options?: Partial<CsvWriteOptions>): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * write to a stream
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									write(stream: import('stream').Stream, options?: Partial<CsvWriteOptions>): Promise<void>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Media {
							 | 
						||
| 
								 | 
							
									type: string;	// image,background
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									extension: string;
							 | 
						||
| 
								 | 
							
									buffer: Buffer;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Address {
							 | 
						||
| 
								 | 
							
									sheetName?: string;
							 | 
						||
| 
								 | 
							
									address: string;
							 | 
						||
| 
								 | 
							
									col: string;
							 | 
						||
| 
								 | 
							
									row: string;
							 | 
						||
| 
								 | 
							
									$col$row: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Location {
							 | 
						||
| 
								 | 
							
									top: number;
							 | 
						||
| 
								 | 
							
									left: number;
							 | 
						||
| 
								 | 
							
									bottom: number;
							 | 
						||
| 
								 | 
							
									right: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface CellMatrix {
							 | 
						||
| 
								 | 
							
									addCell(addressStr: string): void;
							 | 
						||
| 
								 | 
							
									getCell(addressStr: string): Cell;
							 | 
						||
| 
								 | 
							
									findCell(addressStr: string): Cell | undefined;
							 | 
						||
| 
								 | 
							
									findCellAt(sheetName: string, rowNumber: number, colNumber: number): Cell | undefined;
							 | 
						||
| 
								 | 
							
									addCellEx(address: string | Location): void;
							 | 
						||
| 
								 | 
							
									getCellEx(address: string | Location): Cell;
							 | 
						||
| 
								 | 
							
									findCellEx(address: string | Location, create: boolean): Cell | undefined;
							 | 
						||
| 
								 | 
							
									getCellAt(sheetName: string, rowNumber: number, colNumber: number): Cell;
							 | 
						||
| 
								 | 
							
									removeCellEx(address: string | Location): void;
							 | 
						||
| 
								 | 
							
									forEach(callback: (cell: Cell) => void): void;
							 | 
						||
| 
								 | 
							
									map<T>(callback: (cell: Cell) => T): T[];
							 | 
						||
| 
								 | 
							
									findSheet(address: string | Location, create: boolean): Cell[] | undefined;
							 | 
						||
| 
								 | 
							
									findSheetRow(sheet: Cell[][], address: string | Location, create: boolean): Row | undefined;
							 | 
						||
| 
								 | 
							
									findRowCell(row: any[], address: Address, create: boolean): Cell | undefined;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface DefinedNamesRanges {
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									ranges: string[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type DefinedNamesModel = DefinedNamesRanges[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface DefinedNames {
							 | 
						||
| 
								 | 
							
									getMatrix(name: string): CellMatrix;
							 | 
						||
| 
								 | 
							
									// add a name to a cell. locStr in the form SheetName!$col$row or SheetName!$c1$r1:$c2:$r2
							 | 
						||
| 
								 | 
							
									add(locStr: string, name?: string): void;
							 | 
						||
| 
								 | 
							
									addEx(location: string | Location, name: string): Cell;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									remove(locStr: string | Location, name: string): void;
							 | 
						||
| 
								 | 
							
									removeEx(location: string | Location, name: string): void;
							 | 
						||
| 
								 | 
							
									removeAllNames(location: string | Location): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									forEach(callback: (name: string, cell: Cell) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// get all the names of a cell
							 | 
						||
| 
								 | 
							
									getNames(addressStr: string): string[];
							 | 
						||
| 
								 | 
							
									getNamesEx(address: string): string[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getRanges(name: string, matrix?: CellMatrix): DefinedNamesRanges;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									model: DefinedNamesModel;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface WorkbookModel {
							 | 
						||
| 
								 | 
							
									creator: string;
							 | 
						||
| 
								 | 
							
									lastModifiedBy: string;
							 | 
						||
| 
								 | 
							
									lastPrinted: Date;
							 | 
						||
| 
								 | 
							
									created: Date;
							 | 
						||
| 
								 | 
							
									modified: Date;
							 | 
						||
| 
								 | 
							
									properties: WorkbookProperties;
							 | 
						||
| 
								 | 
							
									worksheets: Worksheet[];
							 | 
						||
| 
								 | 
							
									sheets: WorksheetModel[];
							 | 
						||
| 
								 | 
							
									definedNames: DefinedNamesModel;
							 | 
						||
| 
								 | 
							
									views: WorkbookView[];
							 | 
						||
| 
								 | 
							
									company: string;
							 | 
						||
| 
								 | 
							
									manager: string;
							 | 
						||
| 
								 | 
							
									title: string;
							 | 
						||
| 
								 | 
							
									subject: string;
							 | 
						||
| 
								 | 
							
									keywords: string;
							 | 
						||
| 
								 | 
							
									category: string;
							 | 
						||
| 
								 | 
							
									description: string;
							 | 
						||
| 
								 | 
							
									language: string;
							 | 
						||
| 
								 | 
							
									revision: Date;
							 | 
						||
| 
								 | 
							
									contentStatus: string;
							 | 
						||
| 
								 | 
							
									themes: string[];
							 | 
						||
| 
								 | 
							
									media: Media[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export class Workbook {
							 | 
						||
| 
								 | 
							
								    category: string;
							 | 
						||
| 
								 | 
							
								    company: string;
							 | 
						||
| 
								 | 
							
									creator: string;
							 | 
						||
| 
								 | 
							
								    description: string;
							 | 
						||
| 
								 | 
							
								    keywords: string;
							 | 
						||
| 
								 | 
							
									lastModifiedBy: string;
							 | 
						||
| 
								 | 
							
									created: Date;
							 | 
						||
| 
								 | 
							
								    manager: string;
							 | 
						||
| 
								 | 
							
									modified: Date;
							 | 
						||
| 
								 | 
							
									lastPrinted: Date;
							 | 
						||
| 
								 | 
							
									properties: WorkbookProperties;
							 | 
						||
| 
								 | 
							
									subject: string;
							 | 
						||
| 
								 | 
							
								    title: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Workbook calculation Properties
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									calcProperties: CalculationProperties;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * xlsx file format operations
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly xlsx: Xlsx;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * csv file format operations
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									readonly csv: Csv;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									readonly nextId: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									readonly definedNames: DefinedNames;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									model: WorkbookModel;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The Workbook views controls how many separate windows Excel will open when viewing the workbook.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									views: WorkbookView[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * return a clone of worksheets in order
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									worksheets: Worksheet[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add a new worksheet and return a reference to it
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addWorksheet(name?: string, options?: Partial<AddWorksheetOptions>): Worksheet;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									removeWorksheetEx(worksheet: Worksheet): void;
							 | 
						||
| 
								 | 
							
									removeWorksheet(indexOrName: number | string): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * fetch sheet by name or id
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getWorksheet(indexOrName: number | string): Worksheet;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Iterate over all sheets.
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * Note: `workbook.worksheets.forEach` will still work but this is better.
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									eachSheet(callback: (worksheet: Worksheet, id: number) => void): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									clearThemes(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add Image to Workbook and return the id
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addImage(img: Image): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									getImage(id: number): Image;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface TableStyleProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The colour theme of the table
							 | 
						||
| 
								 | 
							
									 * @default 'TableStyleMedium2'
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									theme?: 'TableStyleDark1' | 'TableStyleDark10' | 'TableStyleDark11' | 'TableStyleDark2' | 'TableStyleDark3' | 'TableStyleDark4' | 'TableStyleDark5' | 'TableStyleDark6' | 'TableStyleDark7' | 'TableStyleDark8' | 'TableStyleDark9' | 'TableStyleLight1' | 'TableStyleLight10' | 'TableStyleLight11' | 'TableStyleLight12' | 'TableStyleLight13' | 'TableStyleLight14' | 'TableStyleLight15' | 'TableStyleLight16' | 'TableStyleLight17' | 'TableStyleLight18' | 'TableStyleLight19' | 'TableStyleLight2' | 'TableStyleLight20' | 'TableStyleLight21' | 'TableStyleLight3' | 'TableStyleLight4' | 'TableStyleLight5' | 'TableStyleLight6' | 'TableStyleLight7' | 'TableStyleLight8' | 'TableStyleLight9' | 'TableStyleMedium1' | 'TableStyleMedium10' | 'TableStyleMedium11' | 'TableStyleMedium12' | 'TableStyleMedium13' | 'TableStyleMedium14' | 'TableStyleMedium15' | 'TableStyleMedium16' | 'TableStyleMedium17' | 'TableStyleMedium18' | 'TableStyleMedium19' | 'TableStyleMedium2' | 'TableStyleMedium20' | 'TableStyleMedium21' | 'TableStyleMedium22' | 'TableStyleMedium23' | 'TableStyleMedium24' | 'TableStyleMedium25' | 'TableStyleMedium26' | 'TableStyleMedium27' | 'TableStyleMedium28' | 'TableStyleMedium3' | 'TableStyleMedium4' | 'TableStyleMedium5' | 'TableStyleMedium6' | 'TableStyleMedium7' | 'TableStyleMedium8' | 'TableStyleMedium9';
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Highlight the first column (bold)
							 | 
						||
| 
								 | 
							
									  * @default false
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									showFirstColumn?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Highlight the last column (bold)
							 | 
						||
| 
								 | 
							
									  * @default false
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									showLastColumn?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Alternate rows shown with background colour
							 | 
						||
| 
								 | 
							
									  * @default false
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									showRowStripes?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Alternate rows shown with background colour
							 | 
						||
| 
								 | 
							
									  * @default false
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									showColumnStripes?: boolean;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface TableColumnProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * The name of the column, also used in the header
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Switches the filter control in the header
							 | 
						||
| 
								 | 
							
									  * @default false
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									filterButton?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Label to describe the totals row (first column)
							 | 
						||
| 
								 | 
							
									  * @default 'Total'
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									totalsRowLabel?: string;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Name of the totals function
							 | 
						||
| 
								 | 
							
									  * @default 'none'
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									totalsRowFunction?: 'none' | 'average' | 'countNums' | 'count' | 'max' | 'min' | 'stdDev' | 'var' | 'sum' | 'custom';
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									  * Optional formula for custom functions
							 | 
						||
| 
								 | 
							
									  */
							 | 
						||
| 
								 | 
							
									totalsRowFormula?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface TableProperties {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The name of the table
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									name: string;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * The display name of the table
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									displayName?: string;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Top left cell of the table
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									ref: string;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Show headers at top of table
							 | 
						||
| 
								 | 
							
									 * @default true
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									headerRow?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Show totals at bottom of table
							 | 
						||
| 
								 | 
							
									 * @default false
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									totalsRow?: boolean;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Extra style properties
							 | 
						||
| 
								 | 
							
									 * @default {}
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									style?: TableStyleProperties;
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Column definitions
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									columns: TableColumnProperties[]
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Rows of data
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									rows: any[][]
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type TableColumn = Required<TableColumnProperties>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Table extends Required<TableProperties> {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Commit changes
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									commit: () => void
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Remove a rows of data
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									removeRows: (rowIndex: number, count: number) => void
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add a row of data, either insert at rowNumber or append
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addRow: (values: any[], rowNumber?: number) => void
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Get column
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									getColumn: (colIndex: number) => TableColumn
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Add a new column, including column defn and values
							 | 
						||
| 
								 | 
							
									 * inserts at colNumber or adds to the right
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									addColumn: (column: TableColumnProperties, values: any[], colIndex: number) => void
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Remove a column with data
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									removeColumns: (colIndex: number, count: number) => void
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export namespace config {
							 | 
						||
| 
								 | 
							
									function setValue(key: 'promise', promise: any): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export namespace stream {
							 | 
						||
| 
								 | 
							
									namespace xlsx {
							 | 
						||
| 
								 | 
							
										interface WorkbookWriterOptions {
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * Specifies a writable stream to write the XLSX workbook to.
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											stream: import('stream').Stream;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * 	If stream not specified, this field specifies the path to a file to write the XLSX workbook to.
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											filename: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * 	Specifies whether to use shared strings in the workbook. Default is false
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											useSharedStrings: boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * Specifies whether to add style information to the workbook.
							 | 
						||
| 
								 | 
							
											 * Styles can add some performance overhead. Default is false
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											useStyles: boolean;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										interface ArchiverZipOptions {
							 | 
						||
| 
								 | 
							
											comment: string;
							 | 
						||
| 
								 | 
							
											forceLocalTime: boolean;
							 | 
						||
| 
								 | 
							
											forceZip64: boolean;
							 | 
						||
| 
								 | 
							
											store: boolean;
							 | 
						||
| 
								 | 
							
											zlib: Partial<ZlibOptions>;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										interface ZlibOptions {
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default constants.Z_NO_FLUSH
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											flush: number;
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default constants.Z_FINISH
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											finishFlush: number;
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 16*1024
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											chunkSize: number;
							 | 
						||
| 
								 | 
							
											windowBits: number;
							 | 
						||
| 
								 | 
							
											level: number; // compression only
							 | 
						||
| 
								 | 
							
											memLevel: number; // compression only
							 | 
						||
| 
								 | 
							
											strategy: number; // compression only
							 | 
						||
| 
								 | 
							
											dictionary: Buffer | NodeJS.TypedArray | DataView | ArrayBuffer; // deflate/inflate only, empty dictionary by default
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										interface WorkbookStreamWriterOptions extends WorkbookWriterOptions {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * Specifies whether to add style information to the workbook.
							 | 
						||
| 
								 | 
							
											 * Styles can add some performance overhead. Default is false
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											zip: Partial<ArchiverZipOptions>;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										class WorkbookWriter extends Workbook {
							 | 
						||
| 
								 | 
							
											constructor(options: Partial<WorkbookStreamWriterOptions>);
							 | 
						||
| 
								 | 
							
											// commit all worksheets, then add suplimentary files
							 | 
						||
| 
								 | 
							
											commit(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addStyles(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addThemes(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addOfficeRels(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addContentTypes(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addApp(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addCore(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addSharedStrings(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addWorkbookRels(): Promise<void>;
							 | 
						||
| 
								 | 
							
											addWorkbook(): Promise<void>;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										interface WorkbookStreamReaderOptions {
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 'emit'
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											worksheets?: 'emit' | 'ignore';
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 'cache'
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											sharedStrings?: 'cache' | 'emit' | 'ignore';
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 'ignore'
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											hyperlinks?: 'cache' | 'emit' | 'ignore';
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 'ignore'
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											styles?: 'cache' | 'ignore';
							 | 
						||
| 
								 | 
							
											/**
							 | 
						||
| 
								 | 
							
											 * @default 'ignore'
							 | 
						||
| 
								 | 
							
											 */
							 | 
						||
| 
								 | 
							
											entries?: 'emit' | 'ignore';
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										class WorkbookReader extends Workbook {
							 | 
						||
| 
								 | 
							
											constructor(input: string | import('stream').Stream, options: Partial<WorkbookStreamReaderOptions>);
							 | 
						||
| 
								 | 
							
											read(): Promise<void>;
							 | 
						||
| 
								 | 
							
											[Symbol.asyncIterator](): AsyncGenerator<WorksheetReader>;
							 | 
						||
| 
								 | 
							
											parse(): AsyncIterator<any>;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										interface WorksheetReaderOptions {
							 | 
						||
| 
								 | 
							
											workbook: Workbook;
							 | 
						||
| 
								 | 
							
											id: number;
							 | 
						||
| 
								 | 
							
											entry: import('stream').Stream;
							 | 
						||
| 
								 | 
							
											options: WorkbookStreamReaderOptions;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										class WorksheetReader {
							 | 
						||
| 
								 | 
							
											constructor(options: WorksheetReaderOptions);
							 | 
						||
| 
								 | 
							
											read(): Promise<void>;
							 | 
						||
| 
								 | 
							
											[Symbol.asyncIterator](): AsyncGenerator<Row>;
							 | 
						||
| 
								 | 
							
											parse(): AsyncIterator<Array<any>>;
							 | 
						||
| 
								 | 
							
											dimensions(): number;
							 | 
						||
| 
								 | 
							
											columns(): number;
							 | 
						||
| 
								 | 
							
											getColumn(c: number): Column;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |