import { ChangeListShareInfo } from './SharingAdaptor';
import { ChangeError, ChangeRecord, ChangeRecordIterator } from './ChangeModel';
import { Subject } from 'rxjs/Subject';
/**
 * Created by Papa on 1/1/2016.
 */
export interface SharedChangeList {
    shareInfo: ChangeListShareInfo;
    loadFromRecord(changeRecord: ChangeRecord): Promise<ChangeRecordIterator>;
    addChanges(changeRecords: ChangeRecord[]): Promise<void>;
    errorSubject(): Subject<ChangeError>;
    changesAddedRemotelySubject(): Subject<ChangeRecordIterator>;
}
export declare class ArrayChangeRecordIterator implements ChangeRecordIterator {
    private changeRecords;
    private nextIndex;
    length: number;
    constructor(changeRecords: ChangeRecord[], nextIndex?: number);
    next(): ChangeRecord;
    hasNext(): boolean;
}
