import { JsNode } from './js-node'; import { JsIdent } from './js-ident'; import type { Node, LocationInfo } from './node'; import type { Context } from '../context'; import type { OutputCollector } from '../output'; export declare type JsKeyValueValue = { name: JsIdent | string; value: Node; }; /** * Either the left-hand side of a @let assignment, * or the key (prop) in a collection. * * @todo - technically we don't need to limit * reserved words in object properties, just * initial @let identifiers */ export declare class JsKeyValue extends JsNode { name: JsIdent; value: Node; constructor(val: JsKeyValueValue, location?: LocationInfo); toCSS(context: Context, out: OutputCollector): void; toModule(context: Context, out: OutputCollector): void; } export declare const keyval: (value: JsKeyValueValue, location?: LocationInfo) => JsKeyValue;