import { type AbstractType } from "@dao-xyz/borsh"; import type { Index, IndexEngineInitProperties, IndexedResult, Shape } from "@peerbit/indexer-interface"; import * as types from "@peerbit/indexer-interface"; import { QueryPlanner } from "./query-planner.js"; import { type Table } from "./schema.js"; import type { Database } from "./types.js"; type FKMode = "strict" | "race-tolerant"; export declare class SQLiteIndex> implements Index { readonly properties: { scope: string[]; db: Database; schema: AbstractType; persisted?: boolean; start?: () => Promise | void; stop?: () => Promise | void; }; private _writeBarrier; private withWriteBarrier; primaryKeyArr: string[]; primaryKeyString: string; planner: QueryPlanner; private scopeString?; private _rootTables; private _tables; private _cursor; private cursorPruner; iteratorTimeout: number; closed: boolean; private state; private fkMode; id: string; constructor(properties: { scope: string[]; db: Database; schema: AbstractType; persisted?: boolean; start?: () => Promise | void; stop?: () => Promise | void; }, options?: { iteratorTimeout?: number; fkMode?: FKMode; }); persisted(): boolean; private static readonly _emptyTables; private static readonly _emptyRootTables; private static readonly _emptyCursor; private static closedIterator; private ifOpen; private withWriteIfOpen; private assertOpen; private isClosing; private setClosing; private setClosed; private setOpen; get tables(): Map; get rootTables(): Table[]; get cursor(): Map; init(properties: IndexEngineInitProperties): this; start(): Promise; private getExistingSQLiteObjects; private clearStatements; stop(): Promise; drop(): Promise; private resolveDependencies; private getOrPrepareStatement; get(id: types.IdKey, options?: { shape: Shape; }): Promise | undefined>; put(value: T, _id?: any, options?: { replace?: boolean; }): Promise; iterate(request?: types.IterateOptions, options?: { shape?: S; reference?: boolean; }): types.IndexIterator; private clearupIterator; getSize(): Promise; del(query: types.DeleteOptions): Promise; sum(query: types.SumOptions): Promise; count(request?: types.CountOptions): Promise; get cursorCount(): number; } export declare class SQLiteIndices implements types.Indices { readonly properties: { scope?: string[]; db: Database; parent?: SQLiteIndices; directory?: string; }; private _scope; private scopes; private indices; private closed; constructor(properties: { scope?: string[]; db: Database; parent?: SQLiteIndices; directory?: string; }); init, NestedType>(properties: IndexEngineInitProperties): Promise>; scope(name: string): Promise; persisted(): boolean; start(): Promise; stop(): Promise; drop(): Promise; } export { SQLiteIndex as SQLLiteIndex }; //# sourceMappingURL=engine.d.ts.map