import type { Runtime } from "#channel/types.js";
import type { RemoteAgentStreamHeadersResolver } from "#internal/nitro/routes/channel-route-context.js";
import type { ResolvedChannelDefinition } from "#runtime/types.js";
import { type NitroArtifactsConfig } from "#internal/nitro/routes/runtime-artifacts.js";
/**
 * Bundle returned to the per-channel Nitro dispatch handler.
 *
 * Carries the effective resolved channel set from the compiled route plan and
 * the per-request workflow runtime.
 * The dispatch handler walks `channels` to match the inbound request
 * against a registered URL pattern, then calls the matched channel's
 * `fetch` with a `RouteContext` built from `runtime`.
 */
export interface NitroChannelRuntimeBundle {
    readonly agentName: string;
    readonly channels: readonly ResolvedChannelDefinition[];
    readonly resolveRemoteAgentStreamHeaders?: RemoteAgentStreamHeadersResolver;
    readonly runtime: Runtime;
}
/**
 * Resolves the per-request channel bundle from the effective compiled graph
 * and creates a fresh workflow runtime.
 *
 * No singleton caching is needed — session state lives inside the
 * workflow's durable execution and the channel set is recomputed from the
 * compiled bundle on each request.
 */
export declare function resolveNitroChannelRuntimeBundle(config: NitroArtifactsConfig): Promise<NitroChannelRuntimeBundle>;
