import ArrayLikeWritable from 'typescript-dotnet-commonjs/System/Collections/Array/ArrayLikeWritable';
import IEnumerable from 'typescript-dotnet-commonjs/System/Collections/Enumeration/IEnumerable';
import IEnumerator from 'typescript-dotnet-commonjs/System/Collections/Enumeration/IEnumerator';
import IList from 'typescript-dotnet-commonjs/System/Collections/IList';
import ILinkedListNode from 'typescript-dotnet-commonjs/System/Collections/ILinkedListNode';
import { DataColumnCollection, DataRow, DataRowJSON, DataTable } from '../Data.module';
interface DataRowCollectionJSON {
    rowItems: DataRowJSON[];
}
export declare class DataRowCollection implements IList<DataRow> {
    private _list;
    private _table;
    isEndless?: boolean | undefined;
    constructor(table: DataTable);
    static fromJSON(json: any, columns: DataColumnCollection): DataRowCollection;
    toJSON(): DataRowCollectionJSON;
    set(index: number, value: DataRow): boolean;
    insert(index: number, value: DataRow): void;
    removeAt(index: number): boolean;
    add(entry: DataRow): this;
    /**
     * Добавление строки без генерации события
     */
    silentAdd(entry: DataRow): this;
    remove(entry: DataRow, max?: number): number;
    clear(): number;
    importEntries(entries: IEnumerable<DataRow> | ArrayLike<DataRow> | IEnumerator<DataRow>): number;
    toArray(): DataRow[];
    get count(): number;
    get isReadOnly(): boolean;
    contains(entry: DataRow): boolean;
    copyTo<TTarget extends ArrayLikeWritable<any>>(target: TTarget, index?: number): TTarget;
    getEnumerator(): IEnumerator<DataRow>;
    get(index: number): DataRow | null;
    get last(): ILinkedListNode<DataRow>;
    first(): ILinkedListNode<DataRow>;
    getNode(index: number): ILinkedListNode<DataRow>;
    indexOf(item: DataRow): number;
    /**
     * Обновляет значения индекса DataRow после вставки/удаления
     * @param start стартовый индекс
     */
    updateIndex(start: number): void;
}
export {};
