import { IdResolver } from '@atproto/identity'; import { WriteOpAction } from '@atproto/repo'; import { AtUri } from '@atproto/syntax'; import { CID } from 'multiformats/cid'; import { Database } from '../db/index.js'; import * as PlaylistIdea from './plugins/playlist-idea.js'; import * as Profile from './plugins/profile.js'; import * as SongRecommendation from './plugins/song-recommendation.js'; import { RecordProcessor } from './processor.js'; export declare class IndexingService { db: Database; idResolver: IdResolver; records: { playlistIdea: PlaylistIdea.PluginType; profile: Profile.PluginType; songRecommendation: SongRecommendation.PluginType; }; constructor(db: Database, idResolver: IdResolver); transact(txn: Database): IndexingService; indexRecord(uri: AtUri, cid: CID, obj: unknown, action: WriteOpAction.Create | WriteOpAction.Update, timestamp: string): Promise; deleteRecord(uri: AtUri, cascading?: boolean): Promise; indexHandle(did: string, timestamp: string, force?: boolean): Promise; indexRepo(did: string, commit?: string): Promise; updateActorStatus(did: string, active: boolean, status?: string): Promise; setCommitLastSeen(did: string, commit: CID, rev: string): Promise; getCurrentRecords(did: string): Promise>; findIndexerForCollection(collection: string): RecordProcessor | undefined; deleteActor(did: string): Promise; private getActorIsHosted; unindexActor(did: string): Promise; }