import { BooleanField, DateField, Field, JSONField, NumberField, SQLNativeField, StringField, TimestampField } from '../fields';
import { CellBase } from './base';
import { Cell, NestCell } from '.';
import type * as Malloy from '@malloydata/malloy-interfaces';
export declare class NullCell extends CellBase {
    readonly cell: Malloy.CellWithNullCell;
    readonly field: Field;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithNullCell, field: Field, parent: NestCell | undefined);
    get value(): null;
    get literalValue(): Malloy.LiteralValue | undefined;
}
export declare class NumberCell extends CellBase {
    readonly cell: Malloy.CellWithNumberCell;
    readonly field: NumberField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithNumberCell, field: NumberField, parent: NestCell | undefined);
    get value(): number;
    compareTo(other: Cell): 1 | 0 | -1;
    get literalValue(): Malloy.LiteralValue | undefined;
}
export declare class DateCell extends CellBase {
    readonly cell: Malloy.CellWithDateCell;
    readonly field: DateField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithDateCell, field: DateField, parent: NestCell | undefined);
    get value(): Date;
    get timeframe(): Malloy.DateTimeframe | undefined;
    compareTo(other: Cell): 1 | 0 | -1;
    get literalValue(): Malloy.LiteralValue | undefined;
}
export declare class TimestampCell extends CellBase {
    readonly cell: Malloy.CellWithTimestampCell;
    readonly field: TimestampField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithTimestampCell, field: TimestampField, parent: NestCell | undefined);
    get value(): Date;
    get timeframe(): Malloy.TimestampTimeframe | undefined;
    compareTo(other: Cell): 1 | 0 | -1;
    get literalValue(): Malloy.LiteralValue | undefined;
}
export declare class JSONCell extends CellBase {
    readonly cell: Malloy.CellWithJSONCell;
    readonly field: JSONField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithJSONCell, field: JSONField, parent: NestCell | undefined);
    get value(): any;
    compareTo(other: Cell): 1 | 0 | -1;
}
export declare class SQLNativeCell extends CellBase {
    readonly cell: Malloy.CellWithSQLNativeCell;
    readonly field: SQLNativeField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithSQLNativeCell, field: SQLNativeField, parent: NestCell | undefined);
    get value(): any;
    compareTo(other: Cell): 1 | 0 | -1;
}
export declare class StringCell extends CellBase {
    readonly cell: Malloy.CellWithStringCell;
    readonly field: StringField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithStringCell, field: StringField, parent: NestCell | undefined);
    get value(): string;
    compareTo(other: Cell): number;
    get literalValue(): Malloy.LiteralValue | undefined;
}
export declare class BooleanCell extends CellBase {
    readonly cell: Malloy.CellWithBooleanCell;
    readonly field: BooleanField;
    readonly parent: NestCell | undefined;
    constructor(cell: Malloy.CellWithBooleanCell, field: BooleanField, parent: NestCell | undefined);
    get value(): boolean;
    compareTo(other: Cell): 1 | 0 | -1;
    get literalValue(): Malloy.LiteralValue | undefined;
}
