import { GraphQLSchema } from 'graphql'; import * as defaultOperations from './operations/index'; import { Document, DocumentStore, DocumentTypeValidator, FieldValidator, HooksMap, KeyOrDocument, OperationMap, SerializedPaper, TransactionCallback } from './types'; import { createSchema } from './graphql/create-schema'; export type PaperConstructorOptions = { operations?: UserOperations; }; export declare class Paper { static deserialize(graphqlSchema: GraphQLSchema, serializedPaper: SerializedPaper, options?: PaperConstructorOptions): Paper; protected history: DocumentStore[]; protected current: DocumentStore; protected sourceGraphQLSchema: GraphQLSchema; operations: typeof defaultOperations & UserOperations; events: EventTarget; validators: { document: DocumentTypeValidator[]; field: FieldValidator[]; }; hooks: HooksMap; constructor(graphqlSchema: Parameters[0], options?: PaperConstructorOptions); get data(): DocumentStore; find(documentOrKey: KeyOrDocument): Document | undefined; clear(): void; serialize(): SerializedPaper; private validate; private dispatchEvents; mutate>(fn: T): ReturnType; }