// Keep this file CodeMaid organised and cleaned
using System;
namespace ClosedXML.Excel
{
public interface IXLTableRange : IXLRange
{
IXLTable Table { get; }
IXLTableRow FirstRow(Func<IXLTableRow, Boolean> predicate = null);
IXLTableRow FirstRowUsed(Boolean includeFormats, Func<IXLTableRow, Boolean> predicate = null);
IXLTableRow FirstRowUsed(Func<IXLTableRow, Boolean> predicate = null);
new IXLTableRows InsertRowsAbove(int numberOfRows);
new IXLTableRows InsertRowsBelow(int numberOfRows);
IXLTableRow LastRow(Func<IXLTableRow, Boolean> predicate = null);
IXLTableRow LastRowUsed(Boolean includeFormats, Func<IXLTableRow, Boolean> predicate = null);
IXLTableRow LastRowUsed(Func<IXLTableRow, Boolean> predicate = null);
/// <summary>
/// Rows the specified row.
/// </summary>
/// <param name="row">1-based row number relative to the first row of this range.</param>
/// <returns></returns>
new IXLTableRow Row(int row);
IXLTableRows Rows(Func<IXLTableRow, Boolean> predicate = null);
/// <summary>
/// Returns a subset of the rows
/// </summary>
/// <param name="firstRow">The first row to return. 1-based row number relative to the first row of this range.</param>
/// <param name="lastRow">The last row to return. 1-based row number relative to the first row of this range.</param>
/// <returns></returns>
new IXLTableRows Rows(int firstRow, int lastRow);
new IXLTableRows Rows(string rows);
IXLTableRows RowsUsed(Boolean includeFormats, Func<IXLTableRow, Boolean> predicate = null);
IXLTableRows RowsUsed(Func<IXLTableRow, Boolean> predicate = null);
}
}