type StructureOptions = { data: GenericDataset; idKey: DynamicNodeIdKey; renderIdKey?: DynamicRenderIdKey; dimensions?: DimensionOptions; genericEdges?: EdgeOptions; useDirectedEdges?: boolean; dataType?: DataType; addIds?: boolean; keysForIdGeneration?: KeyList; navigationRules?: NavigationRules; }; type InputOptions = { structure: Structure; navigationRules: NavigationRules; entryPoint?: NodeId; exitPoint?: RenderId; }; type RenderingOptions = { elementData: ElementData | Nodes; suffixId: string; root: RootObject; defaults?: RenderObject; entryButton?: EntryObject; exitElement?: ExitObject; }; type DimensionOptions = { values: DimensionList; parentOptions?: { level1Options?: { order: AddOrReferenceNodeList; behavior?: Level1Behavior; navigationRules?: DimensionNavigationRules; }; addLevel0?: NodeObject; }; adjustDimensions?: AdjustingFunction; }; type Structure = { nodes: Nodes; edges: Edges; dimensions?: Dimensions; navigationRules?: NavigationRules; elementData?: ElementData; }; type Nodes = Record; type Edges = Record; type Dimensions = Record; type NavigationRules = Record; type ElementData = Record; type DimensionDivisions = Record; type AddOrReferenceNodeList = Array; type EdgeList = Array; type GenericDataset = Array; type NavigationList = Array; type DimensionNavigationPair = [NavId, NavId]; type NumericalExtentsPair = [number, number]; type DimensionList = Array; type EdgeOptions = Array; type KeyList = Array; type Semantics = ((RenderObject?: any, DatumObject?: any) => SemanticsObject) | SemanticsObject; type SpatialProperties = ((RenderObject?: any, DatumObject?: any) => SpatialObject) | SpatialObject; type Attributes = ((RenderObject?: any, DatumObject?: any) => AttributesObject) | AttributesObject; type NodeObject = { id: NodeId; edges: EdgeList; renderId?: RenderId; renderingStrategy?: RenderingStrategy; derivedNode?: DerivedNode; dimensionLevel?: DimensionLevel; [key: string | number]: any; }; type EdgeObject = { source: ((d: DatumObject, currentFocus: NodeId) => NodeId) | NodeId; target: ((d: DatumObject, currentFocus: NodeId) => NodeId) | NodeId; navigationRules: NavigationList; edgeId?: EdgeId; }; type EdgeDatum = { edgeId: EdgeId; edge: EdgeObject; conditional?: ConditionalFunction; }; type DimensionObject = { nodeId: NodeId; dimensionKey: DimensionKey; divisions: DimensionDivisions; operations: { compressSparseDivisions: boolean; sortFunction?: SortingFunction; }; behavior?: DimensionBehavior; navigationRules?: DimensionNavigationRules; type?: DimensionType; numericalExtents?: NumericalExtentsPair; subdivisions?: NumericallySubdivide; divisionOptions?: DivisionOptions; }; type DimensionDatum = { dimensionKey: DimensionKey; behavior?: DimensionBehavior; navigationRules?: DimensionNavigationRules; type?: DimensionType; operations?: DimensionOperations; nodeId?: DynamicDimensionId; renderId?: DynamicDimensionRenderId; renderingStrategy?: RenderingStrategy; divisionOptions?: DivisionOptions; }; type DimensionNavigationRules = { sibling_sibling: DimensionNavigationPair; parent_child: DimensionNavigationPair; }; type DivisionOptions = { sortFunction?: SortingFunction; divisionNodeIds?: (dimensionKey: DimensionKey, keyValue: any, i: number) => string; divisionRenderIds?: (dimensionKey: DimensionKey, keyValue: any, i: number) => string; renderingStrategy?: RenderingStrategy; }; type DimensionOperations = { filterFunction?: FilteringFunction; sortFunction?: SortingFunction; createNumericalSubdivisions?: NumericallySubdivide; compressSparseDivisions?: boolean; }; type DivisionObject = { id: NodeId; values: Nodes; sortFunction?: SortingFunction; numericalExtents?: NumericalExtentsPair; }; type NavObject = { direction: Direction; key?: string; }; type RenderObject = { cssClass?: DynamicString; spatialProperties?: SpatialProperties; semantics?: Semantics; parentSemantics?: Semantics; existingElement?: ExistingElement; showText?: boolean; }; type RootObject = { id: string; cssClass?: string; description?: string; width?: string | number; height?: string | number; }; type EntryObject = { include: boolean; callbacks?: EntryCallbacks; }; type ExitObject = { include: boolean; callbacks?: ExitCallbacks; }; type SemanticsObject = { label?: DynamicString; elementType?: DynamicString; role?: DynamicString; attributes?: Attributes; }; type SpatialObject = { x?: DynamicNumber; y?: DynamicNumber; width?: DynamicNumber; height?: DynamicNumber; path?: DynamicString; }; type DimensionBehavior = { extents: ExtentType; customBridgePrevious?: NodeId; customBridgePost?: NodeId; childmostNavigation?: ChildmostNavigationStrategy; childmostMatching?: ChildmostMatchingStrategy; }; type Level1Behavior = { extents: Level0ExtentType; customBridgePrevious?: NodeId; customBridgePost?: NodeId; }; type DescriptionOptions = { omitKeyNames?: boolean; semanticLabel?: string; }; type ExistingElement = { useForSpatialProperties: boolean; spatialProperties?: SpatialProperties; }; type EntryCallbacks = { focus?: Function; click?: Function; }; type ExitCallbacks = { focus?: Function; blur?: Function; }; type DatumObject = { [key: string | number]: any; }; type AttributesObject = { [key: string]: string; }; type DynamicNumber = ((r?: RenderObject, d?: DatumObject) => number) | number; type DynamicString = ((r?: RenderObject, d?: DatumObject) => string) | string; type DynamicNodeId = ((d?: DatumObject, dim?: DimensionDatum) => NodeId) | NodeId; type DynamicRenderId = ((d?: DatumObject) => RenderId) | RenderId; type DynamicNodeIdKey = ((d?: DatumObject) => string) | string; type DynamicRenderIdKey = ((d?: DatumObject) => string) | string; type DynamicDimensionId = ((d?: DimensionDatum, a?: GenericDataset) => NodeId) | NodeId; type DynamicDimensionRenderId = ((d?: DimensionDatum, a?: GenericDataset) => RenderId) | RenderId; type NumericallySubdivide = ((d?: DimensionKey, n?: Nodes) => number) | number; type ChildmostMatchingStrategy = (index?: number, currentDivisionChild?: DatumObject, currentDivision?: DivisionObject, nextDivision?: DivisionObject) => DatumObject | undefined; type AdjustingFunction = (d: Dimensions) => Dimensions; type SortingFunction = (a: DatumObject, b: DatumObject, c?: any) => number; type FilteringFunction = (a: DatumObject, b?: any) => boolean; type ConditionalFunction = (n: NodeObject, d: EdgeDatum) => boolean; type NodeId = string; type EdgeId = string; type RenderId = string; type NavId = string; type DimensionId = string; type DimensionKey = string; type NodeToAddOrReference = NodeObject | NodeId; type Direction = 'target' | 'source'; type RenderingStrategy = 'outlineEach' | 'convexHull' | 'singleSquare' | 'custom'; type DimensionType = 'numerical' | 'categorical'; type ExtentType = 'circular' | 'terminal' | 'bridgedCousins' | 'bridgedCustom'; type ChildmostNavigationStrategy = 'within' | 'across'; type Level0ExtentType = 'circular' | 'terminal' | 'bridgedCustom'; type DataType = 'vega-lite' | 'vl' | 'Vega-Lite' | 'generic' | 'default'; type DimensionLevel = 0 | 1 | 2 | 3; type DerivedNode = string; type LLMMessage = { role: 'user' | 'assistant' | 'system'; content: string; }; type TextChatOptions = { structure: Structure; container: string | HTMLElement; entryPoint?: NodeId; describeNode?: (node: NodeObject) => string; commandLabels?: Record; onNavigate?: (node: NodeObject) => void; onExit?: () => void; onClick?: (node: NodeObject) => void; onHover?: (node: NodeObject) => void; llm?: (messages: LLMMessage[]) => Promise; data?: Record[]; }; type TextChatInstance = { destroy: () => void; getCurrentNode: () => NodeObject | null; }; declare const _default: { structure: (options: StructureOptions) => Structure; input: (options: InputOptions) => any; rendering: (options: RenderingOptions) => any; textChat: (options: TextChatOptions) => TextChatInstance; }; export { type AddOrReferenceNodeList, type AdjustingFunction, type Attributes, type AttributesObject, type ChildmostMatchingStrategy, type ChildmostNavigationStrategy, type ConditionalFunction, type DataType, type DatumObject, type DerivedNode, type DescriptionOptions, type DimensionBehavior, type DimensionDatum, type DimensionDivisions, type DimensionId, type DimensionKey, type DimensionLevel, type DimensionList, type DimensionNavigationPair, type DimensionNavigationRules, type DimensionObject, type DimensionOperations, type DimensionOptions, type DimensionType, type Dimensions, type Direction, type DivisionObject, type DivisionOptions, type DynamicDimensionId, type DynamicDimensionRenderId, type DynamicNodeId, type DynamicNodeIdKey, type DynamicNumber, type DynamicRenderId, type DynamicRenderIdKey, type DynamicString, type EdgeDatum, type EdgeId, type EdgeList, type EdgeObject, type EdgeOptions, type Edges, type ElementData, type EntryCallbacks, type EntryObject, type ExistingElement, type ExitCallbacks, type ExitObject, type ExtentType, type FilteringFunction, type GenericDataset, type InputOptions, type KeyList, type LLMMessage, type Level0ExtentType, type Level1Behavior, type NavId, type NavObject, type NavigationList, type NavigationRules, type NodeId, type NodeObject, type NodeToAddOrReference, type Nodes, type NumericalExtentsPair, type NumericallySubdivide, type RenderId, type RenderObject, type RenderingOptions, type RenderingStrategy, type RootObject, type Semantics, type SemanticsObject, type SortingFunction, type SpatialObject, type SpatialProperties, type Structure, type StructureOptions, type TextChatInstance, type TextChatOptions, _default as default };