import { type FabricConfig } from "./config.js"; import { type FabricProviderComponent } from "./components/provider-component.js"; import type { FabricProvider } from "./protocol.js"; export interface FabricManagedHostOptions { /** Host code only; never read from project/global configuration or the provider event payload. */ providers: readonly string[]; /** Exact registered tools kept model-visible beside fabric_exec (at most eight). */ foreground?: readonly string[]; /** Additional turn-stable host instructions; never interpreted as configuration. */ guidance?: string; /** Callable reader used for skill loading; omitted means the host owns loading. */ skillReader?: string; /** Keep Fabric compaction by default, or delegate to the embedding Pi host. */ compaction?: "fabric" | "pi"; /** Host-only limits; ambient executor settings are ignored. */ executor?: { readonly maxCpuSliceMs?: number; /** Host-owned final output ceiling; nullish values use the default. Ambient executor settings are ignored. */ readonly maxOutputChars?: number | null; /** Host-owned nested result ceiling; nullish values use the default. Final model output is bounded separately. */ readonly maxNestedResultChars?: number | null; }; } /** Closed-world provider authority for embedded hosts. Native providers cannot return on reload. */ export declare class FabricManagedHost { #private; readonly options: Readonly; constructor(options: FabricManagedHostOptions); register(provider: FabricProvider, overwrite?: boolean): void; seal(): void; has(name: string): boolean; /** Only sealed, live host providers delegate effect approval to the host broker. */ ownsProvider(name: string): boolean; provider(name: string): FabricProvider; component(component: FabricProviderComponent): FabricProviderComponent; config(): FabricConfig; close(): Promise; } //# sourceMappingURL=managed-host.d.ts.map