import type { DataType } from '@apache-arrow/esnext-esm';
import type { Nullable } from '../schema/types.js';
import type { Scalar } from './scalar.js';
type TVector<T extends Scalar<unknown>> = T[];
export declare class List<T extends Scalar<unknown>> implements Scalar<Nullable<TVector<T>>> {
    private _childScalarInstance;
    private _valid;
    private _value;
    constructor(childScalarInstance: T, initialValue?: TVector<T>);
    get dataType(): DataType;
    set value(inputValue: unknown);
    get valid(): boolean;
    get value(): Nullable<TVector<T>>;
    toString(): string;
    get length(): number;
    equals(other: List<T>): boolean;
}
export {};
