import type { ODataSelect, ODataSelectResult } from '../lib/odata'; import { SchemaService } from './schema'; import type { AnalyzedDocument } from './analyzerService'; import { AnalyzerService } from './analyzerService'; export interface FindDocumentRequest> { key: string; select?: Keys[]; } export interface PostDocumentsRequest { value: ({ '@search.action'?: 'upload' | 'merge' | 'mergerOrUpload' | 'delete'; } & TDoc)[]; } export interface StoredDocument { key: string; original: T; analyzed: AnalyzedDocument; } export declare class DataStore { private readonly schemaService; private readonly analyzer; readonly documents: StoredDocument[]; constructor(schemaService: SchemaService, analyzer: AnalyzerService); private matchExisting; findDocument>(request: FindDocumentRequest): ODataSelectResult; postDocuments(documents: PostDocumentsRequest): void; countDocuments(): number; private toStoredDocument; }