import { type Operation } from 'ot-json0';
import * as ReadOnlyDocuments from './read-only-documents';
import { type Action, type UnknownAction } from '../actions';
export type { Document, Element, ElementData, ElementReference } from './read-only-documents';
export { isElementReference } from './read-only-documents';
export type { Operation };
export type State = ReadOnlyDocuments.State;
export declare function getInitialState({ documents, }?: {
    documents?: ReadOnlyDocuments.Document[];
}): State;
export declare function getDocument(state: State, documentKey: string): ReadOnlyDocuments.Document | null;
export declare function getDocuments(state: State): ReadOnlyDocuments.State;
export declare function reducer(state: State | undefined, action: Action | UnknownAction): State;
//# sourceMappingURL=read-write-documents.d.ts.map