import duckdb from '@duckdb/node-bindings'; import { DuckDBListType } from '../DuckDBType'; import { DuckDBListValue } from '../values'; import { DuckDBVector } from './DuckDBVector'; import { DuckDBValidity } from './DuckDBValidity'; export declare class DuckDBListVector extends DuckDBVector { private readonly parentList; private readonly listType; private readonly entryData; private readonly validity; private readonly vector; private childData; private readonly itemOffset; private readonly _itemCount; private readonly itemCache; constructor(parentList: DuckDBListVector | null, listType: DuckDBListType, entryData: BigUint64Array, validity: DuckDBValidity, vector: duckdb.Vector, childData: DuckDBVector, itemOffset: number, itemCount: number); static fromRawVector(listType: DuckDBListType, vector: duckdb.Vector, itemCount: number): DuckDBListVector; get type(): DuckDBListType; get itemCount(): number; getItemVector(itemIndex: number): DuckDBVector | null; /** * Returns the offset into `childVector` where this row's elements begin. * Combined with `childVector`, this allows callers to index directly into * the flat backing storage without allocating a per-row sliced vector. */ getEntryOffset(itemIndex: number): number; /** Returns the number of elements this row contributes to `childVector`. */ getEntryLength(itemIndex: number): number; /** The (flat) child vector backing all rows' list elements. */ get childVector(): DuckDBVector; getItem(itemIndex: number): DuckDBListValue | null; setItem(itemIndex: number, value: DuckDBListValue | null): void; flush(): void; slice(offset: number, length: number): DuckDBListVector; }