import { DataContext } from './data-context.js'; import { ComponentModel } from '../state/component-model.js'; import type { SurfaceModel } from '../state/surface-model.js'; import type { SurfaceComponentsModel } from '../state/surface-components-model.js'; /** * Context provided to components during rendering. * It provides access to the component's model, the data context, and a way to dispatch actions. */ export declare class ComponentContext { /** The state model for this specific component, providing access to its properties and state. */ readonly componentModel: ComponentModel; /** * The data context scoped to this component's position in the visual hierarchy. * Uses the `dataModelBasePath` to resolve relative data paths. */ readonly dataContext: DataContext; /** The collection of all component models for the current surface, allowing lookups by ID. */ readonly surfaceComponents: SurfaceComponentsModel; /** The theme configuration for the surface this component belongs to. */ readonly theme: any; /** * Creates a new component context. * * @param surface The surface model the component belongs to. * @param componentId The ID of the component. * @param dataModelBasePath The base path for data model access (default: '/'). */ constructor(surface: SurfaceModel, componentId: string, dataModelBasePath?: string); private _actionDispatcher; /** * Dispatches an action from the component. * * @param action The action to dispatch. */ dispatchAction(action: any): Promise; } //# sourceMappingURL=component-context.d.ts.map