import { FsCellsCollection } from './Cells/FsCellsCollection.fs.js';
import { FsTable } from './Tables/FsTable.fs.js';
import { FsRow } from './FsRow.fs.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { FsColumn } from './FsColumn.fs.js';
import { FsCell } from './Cells/FsCell.fs.js';
import { FsRangeAddress } from './Ranges/FsRangeAddress.fs.js';
import { Option } from '@fable-org/fable-library-js/Option.js';
import { FSharpList } from '@fable-org/fable-library-js/List.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export declare class FsWorksheet {
    readonly name: string;
    _name: string;
    readonly _rows: FsRow[];
    readonly _tables: FsTable[];
    _cells: FsCellsCollection;
    constructor(name: string, fsRows?: FsRow[], fsTables?: FsTable[], fsCellsCollection?: FsCellsCollection);
    static init(name: string): FsWorksheet;
    get Name(): string;
    set Name(name: string);
    get CellCollection(): FsCellsCollection;
    get Tables(): FsTable[];
    get Rows(): FsRow[];
    get Columns(): Iterable<FsColumn>;
    get MaxRowIndex(): int32;
    get MaxColumnIndex(): int32;
    Copy(): FsWorksheet;
    static copy(sheet: FsWorksheet): FsWorksheet;
    Row(rowIndex: int32, SkipSearch?: boolean): FsRow;
    RowWithRange(rangeAddress: FsRangeAddress, SkipSearch?: boolean): FsRow;
    static appendRow(row: FsRow, sheet: FsWorksheet): FsWorksheet;
    static getRows(sheet: FsWorksheet): FsRow[];
    static getRowAt(rowIndex: int32, sheet: FsWorksheet): FsRow;
    static tryGetRowAt(rowIndex: int32, sheet: FsWorksheet): Option<FsRow>;
    static tryGetRowAfter(rowIndex: int32, sheet: FsWorksheet): Option<FsRow>;
    InsertBefore(row: FsRow, refRow: FsRow): FsWorksheet;
    static insertBefore(row: FsRow, refRow: FsRow, sheet: FsWorksheet): FsWorksheet;
    ContainsRowAt(rowIndex: int32): boolean;
    static containsRowAt(rowIndex: int32, sheet: FsWorksheet): boolean;
    static countRows(sheet: FsWorksheet): int32;
    RemoveRowAt(rowIndex: int32): void;
    static removeRowAt(rowIndex: int32, sheet: FsWorksheet): FsWorksheet;
    TryRemoveAt(rowIndex: int32): FsWorksheet;
    static tryRemoveAt(rowIndex: int32, sheet: FsWorksheet): void;
    SortRows(): void;
    MapRowsInPlace(f: ((arg0: FsRow) => FsRow)): FsWorksheet;
    static mapRowsInPlace(f: ((arg0: FsRow) => FsRow), sheet: FsWorksheet): FsWorksheet;
    GetMaxRowIndex(): FsRow;
    static getMaxRowIndex(sheet: FsWorksheet): FsRow;
    GetRowValuesAt(rowIndex: int32): Iterable<any>;
    static getRowValuesAt(rowIndex: int32, sheet: FsWorksheet): Iterable<any>;
    TryGetRowValuesAt(rowIndex: int32): Option<Iterable<any>>;
    static tryGetRowValuesAt(rowIndex: int32, sheet: FsWorksheet): Option<Iterable<any>>;
    RescanRows(): void;
    Column(columnIndex: int32): FsColumn;
    ColumnWithRange(rangeAddress: FsRangeAddress): void;
    static getColumns(sheet: FsWorksheet): Iterable<FsColumn>;
    static getColumnAt(columnIndex: int32, sheet: FsWorksheet): FsColumn;
    static tryGetColumnAt(columnIndex: int32, sheet: FsWorksheet): Option<FsColumn>;
    Table(tableName: string, rangeAddress: FsRangeAddress, showHeaderRow?: boolean): FsTable;
    static tryGetTableByName(tableName: string, sheet: FsWorksheet): Option<FsTable>;
    static getTableByName(tableName: string, sheet: FsWorksheet): FsTable;
    AddTable(table: FsTable): FsWorksheet;
    static addTable(table: FsTable, sheet: FsWorksheet): FsWorksheet;
    AddTables<$b extends FsTable>(tables: FSharpList<$b>): FsWorksheet;
    static addTables<$a extends FsTable>(tables: FSharpList<$a>, sheet: FsWorksheet): FsWorksheet;
    TryGetCellAt(rowIndex: int32, colIndex: int32): Option<FsCell>;
    static tryGetCellAt(rowIndex: int32, colIndex: int32, sheet: FsWorksheet): Option<FsCell>;
    GetCellAt(rowIndex: int32, colIndex: int32): FsCell;
    static getCellAt(rowIndex: int32, colIndex: int32, sheet: FsWorksheet): FsCell;
    AddCell(cell: FsCell): FsWorksheet;
    AddCells(cells: Iterable<FsCell>): FsWorksheet;
    InsertValueAt(value: any, rowIndex: int32, colIndex: int32): void;
    static insertValueAt<a>(value: a, rowIndex: int32, colIndex: int32, sheet: FsWorksheet): void;
    SetValueAt<a extends FsCell>(value: a, rowIndex: int32, colIndex: int32): FsWorksheet;
    static setValueAt<a extends FsCell>(value: a, rowIndex: int32, colIndex: int32, sheet: FsWorksheet): FsWorksheet;
    RemoveCellAt(rowIndex: int32, colIndex: int32): FsWorksheet;
    static removeCellAt(rowIndex: int32, colIndex: int32, sheet: FsWorksheet): FsWorksheet;
    TryRemoveValueAt(rowIndex: int32, colIndex: int32): void;
    static tryRemoveValueAt(rowIndex: int32, colIndex: int32, sheet: FsWorksheet): void;
    RemoveValueAt(rowIndex: int32, colIndex: int32): void;
    static removeValueAt(rowIndex: int32, colIndex: int32, sheet: FsWorksheet): void;
    static addCell(cell: FsCell, sheet: FsWorksheet): FsWorksheet;
    static addCells(cell: Iterable<FsCell>, sheet: FsWorksheet): FsWorksheet;
    static validateForWrite(ws: FsWorksheet): void;
}
export declare function FsWorksheet_$reflection(): TypeInfo;
export declare function FsWorksheet_$ctor_7FDA5F7A(name: string, fsRows?: FsRow[], fsTables?: FsTable[], fsCellsCollection?: FsCellsCollection): FsWorksheet;
//# sourceMappingURL=FsWorksheet.fs.d.ts.map