import type { ExprValue } from '../types/expr-value'; import { ExpressionDef } from '../types/expression-def'; import type { FieldSpace } from '../types/field-space'; import { MalloyElement } from '../types/malloy-element'; import type { ExprIdReference } from './expr-id-reference'; export type ElementDetails = { path: ExprIdReference; } | { key?: string; value: ExpressionDef; }; export declare class RecordElement extends MalloyElement { elementType: string; value: ExpressionDef; key?: string; constructor(val: ElementDetails); } export declare class RecordLiteral extends ExpressionDef { readonly pairs: RecordElement[]; elementType: string; constructor(pairs: RecordElement[]); getExpression(fs: FieldSpace): ExprValue; getRecord(fs: FieldSpace, kidNames: string[]): ExprValue; getNextElement(fs: FieldSpace, headValue: ExprValue): ExprValue; }