import { StreamID, CommitID } from '@dustil/streamid'; import { AnchorService, Context, CreateOpts, LoadOpts, PinningOpts, PublishOpts, StreamState, UpdateOpts } from '@dustil/common'; import { PinStore } from '../store/pin-store.js'; import { DiagnosticsLogger } from '@dustil/common'; import { ExecutionQueue } from './execution-queue.js'; import { RunningState } from './running-state.js'; import { StateManager } from './state-manager.js'; import type { Dispatcher } from '../dispatcher.js'; import type { ConflictResolution } from '../conflict-resolution.js'; import type { HandlersMap } from '../handlers-map.js'; import { Observable } from 'rxjs'; import { StateCache } from './state-cache.js'; import { SnapshotState } from './snapshot-state.js'; import { LocalIndexApi } from '../indexing/local-index-api.js'; import { IKVStore } from '../store/ikv-store.js'; import { AnchorRequestStore } from '../store/anchor-request-store.js'; export declare type RepositoryDependencies = { dispatcher: Dispatcher; pinStore: PinStore; stateStore: IKVStore; anchorRequestStore: AnchorRequestStore; context: Context; handlers: HandlersMap; anchorService: AnchorService; conflictResolution: ConflictResolution; indexing: LocalIndexApi; }; export declare class Repository { #private; private readonly logger; readonly loadingQ: ExecutionQueue; readonly executionQ: ExecutionQueue; readonly inmemory: StateCache; stateManager: StateManager; constructor(cacheLimit: number, concurrencyLimit: number, logger: DiagnosticsLogger); injectStateStore(stateStore: IKVStore): Promise; init(): Promise; get pinStore(): PinStore; get anchorRequestStore(): AnchorRequestStore; get index(): LocalIndexApi; setDeps(deps: RepositoryDependencies): void; private fromMemory; private fromStateStore; private fromNetwork; _loadGenesis(streamId: StreamID): Promise<[RunningState, boolean]>; load(streamId: StreamID, opts: LoadOpts): Promise; loadAtCommit(commitId: CommitID, opts: LoadOpts): Promise; loadAtTime(streamId: StreamID, opts: LoadOpts): Promise; applyCommit(streamId: StreamID, commit: any, opts: CreateOpts | UpdateOpts): Promise; applyWriteOpts(state$: RunningState, opts: CreateOpts | UpdateOpts): Promise; handlePinOpts(state$: RunningState, opts: PinningOpts): Promise; applyCreateOpts(streamId: StreamID, opts: CreateOpts): Promise; fromMemoryOrStore(streamId: StreamID): Promise; streamState(streamId: StreamID): Promise; add(state$: RunningState): void; pin(state$: RunningState, force?: boolean): Promise; unpin(state$: RunningState, opts?: PublishOpts): Promise; listPinned(streamId?: StreamID): Promise; randomPinnedStreamState(): Promise; indexStreamIfNeeded(state$: RunningState): Promise; updates$(init: StreamState): Observable; close(): Promise; } //# sourceMappingURL=repository.d.ts.map