{"version":3,"file":"record_manager.d.cts","names":["Serializable","UUIDV5_NAMESPACE","UpdateOptions","ListKeyOptions","RecordManagerInterface","Promise","RecordManager"],"sources":["../../src/indexing/record_manager.d.ts"],"sourcesContent":["import { Serializable } from \"../load/serializable.js\";\n// Arbitrary value, used for generating namespaced UUIDs.\nexport declare const UUIDV5_NAMESPACE = \"10f90ea3-90a4-4962-bf75-83a0f3c1c62a\";\nexport type UpdateOptions = {\n    groupIds?: (string | null)[];\n    timeAtLeast?: number;\n};\nexport type ListKeyOptions = {\n    before?: number;\n    after?: number;\n    groupIds?: (string | null)[];\n    limit?: number;\n};\nexport interface RecordManagerInterface {\n    /**\n     * Creates schema in the record manager.\n     * @returns Promise\n     */\n    createSchema(): Promise<void>;\n    /**\n     * Returns current time from the record manager.\n     * @returns Current time\n     */\n    getTime(): Promise<number>;\n    /**\n     * Updates keys in the record manager.\n     * @param keys List of keys to update\n     * @param groupIds List of groupIds to update\n     * @param timeAtLeast Update only if current time is at least this value\n     * @returns Promise\n     * @throws Error if timeAtLeast is provided and current time is less than timeAtLeast\n     * @throws Error if number of keys does not match number of groupIds\n     */\n    update(keys: string[], updateOptions: UpdateOptions): Promise<void>;\n    /**\n     * Checks if keys exist in the record manager.\n     * @param keys List of keys to check\n     * @returns List of booleans indicating if key exists in same order as provided keys\n     */\n    exists(keys: string[]): Promise<boolean[]>;\n    /**\n     * Lists keys from the record manager.\n     * @param before List keys before this timestamp\n     * @param after List keys after this timestamp\n     * @param groupIds List keys with these groupIds\n     * @param limit Limit the number of keys returned\n     * @returns List of keys\n     *\n     */\n    listKeys(options: ListKeyOptions): Promise<string[]>;\n    /**\n     * Deletes keys from the record manager.\n     * @param keys List of keys to delete\n     */\n    deleteKeys(keys: string[]): Promise<void>;\n}\nexport declare abstract class RecordManager extends Serializable implements RecordManagerInterface {\n    lc_namespace: string[];\n    abstract createSchema(): Promise<void>;\n    abstract getTime(): Promise<number>;\n    abstract update(keys: string[], updateOptions?: UpdateOptions): Promise<void>;\n    abstract exists(keys: string[]): Promise<boolean[]>;\n    abstract listKeys(options?: ListKeyOptions): Promise<string[]>;\n    abstract deleteKeys(keys: string[]): Promise<void>;\n}\n"],"mappings":";;;;cAEqBC,gBAAAA;AAAAA,KACTC,aAAAA,GADyB;EACzBA,QAAAA,CAAAA,EAAAA,CAAAA,MAAa,GAAA,IAAA,CAAA,EAAA;EAIbC,WAAAA,CAAAA,EAAAA,MAAc;AAM1B,CAAA;AAAuC,KAN3BA,cAAAA,GAM2B;EAAA,MAKnBE,CAAAA,EAAAA,MAAAA;EAAO,KAKZA,CAAAA,EAAAA,MAAAA;EAAO,QAUoBH,CAAAA,EAAAA,CAAAA,MAAAA,GAAAA,IAAAA,CAAAA,EAAAA;EAAa,KAAGG,CAAAA,EAAAA,MAAAA;CAAO;AAgB3CF,UApCLC,sBAAAA,CAoCKD;EAAc;;AAKG;AAEvC;EAA2C,YAAA,EAAA,EAtCvBE,OAsCuB,CAAA,IAAA,CAAA;EAAA;;;;EAIgC,OACtCA,EAAAA,EAtCtBA,OAsCsBA,CAAAA,MAAAA,CAAAA;EAAO;;;;;AALsD;;;;wCAvBxDH,gBAAgBG;;;;;;0BAM9BA;;;;;;;;;;oBAUNF,iBAAiBE;;;;;8BAKPA;;uBAEFC,aAAAA,SAAsBN,YAAAA,YAAwBI;;2BAE/CC;sBACLA;kDAC4BH,gBAAgBG;mCAC/BA;8BACLF,iBAAiBE;uCACRA"}