import type { Module, Variable, VariableDefinition } from "@observablehq/runtime"; import type { DisplayState } from "./display.js"; import { observe } from "./display.js"; export type DefineState = DisplayState & { /** the runtime variables associated with this cell */ variables: Variable[]; }; export type Definition = { /** the unique cell id; a positive integer */ id: number; /** the cell’s definition function */ body: VariableDefinition; /** the names of this cell’s inputs (unbound references), if any */ inputs?: string[]; /** the names of this cell’s outputs (top-level declarations), if any */ outputs?: string[]; /** the singular output name of this cell, if any; an alternative to outputs */ output?: string; /** whether to display this cell’s singular output automatically */ autodisplay?: boolean; /** whether this cell’s singular output is a view */ autoview?: boolean; /** whether this cell’s singular output is a mutable */ automutable?: boolean; /** whether to define the display and view builtins; defaults to true */ display?: boolean; /** an asset mapping to apply to any autodisplayed assets (e.g., images and videos) */ assets?: Map; }; export declare function define(main: Module, state: DefineState, definition: Definition, observer?: typeof observe): void;