import type { ReadonlySignal } from '@nonoun/native-core'; import type { ComponentRegistration, KernelOptions, UIPlan } from './types.ts'; import { CommandBus } from './command-bus.ts'; import { CommandHistory } from './command-history.ts'; import { OverlayManager } from './overlay-manager.ts'; import { FocusRouter } from './focus-router.ts'; import { PlanExecutor } from './executor.ts'; import { EventLog } from './observability.ts'; import { PerfMetrics } from './observability.ts'; import { DataStore } from './data-runtime.ts'; import { PolicyEngine } from './policy.ts'; import { PluginRegistry } from '@nonoun/native-core'; import type { PluginFactory } from '@nonoun/native-core'; import type { UIPatch, PatchResult } from './patch.ts'; import type { A11yResult } from './accessibility.ts'; export declare class Kernel { #private; readonly bus: CommandBus; readonly history: CommandHistory; readonly overlays: OverlayManager; readonly focus: FocusRouter; readonly executor: PlanExecutor; readonly log: EventLog; readonly perf: PerfMetrics; readonly data: DataStore; readonly policy: PolicyEngine; readonly plugins: PluginRegistry; readonly registry: ReadonlySignal>; /** * A2UI protocol adapter. Requires `installA2UI(kernel)` from `@nonoun/native-ai`. * Throws if the plugin has not been installed. */ get a2ui(): unknown; constructor(options?: KernelOptions); /** Register a plugin factory. Instance is created lazily on first `plugin()` call. */ use(name: string, factory: PluginFactory): void; /** Get a plugin instance by name. Throws if not registered. */ plugin(name: string): T; register(tag: string, elementClass: CustomElementConstructor, options?: { formAssociated?: boolean; }): void; registerAndDefine(tag: string, elementClass: CustomElementConstructor, options?: { formAssociated?: boolean; }): void; executePlan(plan: UIPlan, container: HTMLElement): Map; validatePlanAccessibility(plan: UIPlan): A11yResult; patchPlan(patch: UIPatch): PatchResult; teardownPlan(planId: string): void; destroy(): void; } export declare function getKernel(options?: KernelOptions): Kernel; export declare function resetKernel(): void; //# sourceMappingURL=kernel.d.ts.map