import { ArrayField, RecordField, RepeatedRecordField, RootField } from '../fields';
import { Cell, CellValue, NestCell } from '.';
import { CellBase } from './base';
import type * as Malloy from '@malloydata/malloy-interfaces';
export declare class ArrayCell extends CellBase {
    readonly cell: Malloy.CellWithArrayCell;
    readonly field: ArrayField;
    readonly parent: NestCell | undefined;
    readonly values: Cell[];
    constructor(cell: Malloy.CellWithArrayCell, field: ArrayField, parent: NestCell | undefined);
    get value(): Cell[];
}
export declare class RepeatedRecordCell extends CellBase {
    readonly cell: Malloy.CellWithArrayCell;
    readonly field: RepeatedRecordField;
    readonly parent: NestCell | undefined;
    readonly rows: RecordCell[];
    readonly fieldValueSets: Map<string, Set<CellValue>>;
    constructor(cell: Malloy.CellWithArrayCell, field: RepeatedRecordField, parent: NestCell | undefined);
    get value(): RecordCell[];
    get values(): RecordCell[];
}
export declare class RootCell extends RepeatedRecordCell {
    readonly cell: Malloy.CellWithArrayCell;
    readonly field: RootField;
    constructor(cell: Malloy.CellWithArrayCell, field: RootField);
}
export declare class RecordCell extends CellBase {
    readonly cell: Malloy.CellWithRecordCell;
    readonly field: RecordField;
    readonly parent: NestCell | undefined;
    cells: Record<string, Cell>;
    constructor(cell: Malloy.CellWithRecordCell, field: RecordField, parent: NestCell | undefined);
    get rows(): RecordCell[];
    get value(): Record<string, Cell>;
    column(name: string): Cell;
    get columns(): Cell[];
    allCellValues(): Record<string, CellValue>;
    cellAtPath(path: string[]): Cell;
}
