import type { DispatchPlanInput } from "./index.js"; import type { DispatchResult } from "./types.js"; export type DispatchBackendName = "fabric" | "pi-delegate"; export type DispatchBackendResult = DispatchResult & { readonly backend: DispatchBackendName | "plan-only"; }; /** An injected host adapter; this module never discovers or imports Fabric. */ export interface FabricHost { dispatch(input: DispatchPlanInput): Promise; } export interface DispatchBackend extends FabricHost { readonly name: DispatchBackendName | "plan-only"; } export interface DispatchBackendOptions { readonly backend?: DispatchBackendName; readonly fabricHost?: FabricHost; } /** Explicit selection never falls back to a different executor. */ export declare function selectDispatchBackend(options: DispatchBackendOptions, delegate: DispatchBackend): DispatchBackend;