import type { ModelMessage } from "ai";
import type { AlsContext } from "#context/container.js";
import type { ContextKey } from "#context/key.js";
import { type LiveDynamicModelSelection } from "#context/keys.js";
import type { HandleMessageStreamEvent } from "#protocol/message.js";
import type { RuntimeDynamicModelReference, RuntimeModelReference } from "#runtime/agent/bootstrap.js";
import { type RuntimeModelResolutionScope } from "#runtime/agent/resolve-model.js";
export type ActiveDynamicModelSelection = LiveDynamicModelSelection;
export declare function getActiveDynamicModelSelection(ctx: {
    get<T>(key: ContextKey<T>): T | undefined;
}): ActiveDynamicModelSelection | null;
export declare function dispatchDynamicModelEvent(input: {
    readonly ctx: AlsContext;
    readonly dynamicModel: RuntimeDynamicModelReference | undefined;
    readonly event: HandleMessageStreamEvent;
    readonly fallback: RuntimeModelReference;
    readonly messages: readonly ModelMessage[];
    readonly scope: RuntimeModelResolutionScope;
}): Promise<void>;
