import { type AutoRoutingDecision, type AutoRoutingDecisionV3, type IndependentDimensionScoresV3, type PublishedRoutingActivationV3, type RoutingCandidateDecision, type RequestRoutingRequirements } from "@velum-labs/routekit-eval-contracts"; import type { RoutingModelAvailability } from "@velum-labs/routekit-eval-core"; import { Effect } from "effect"; import { evaluateCompositionPolicyV3 } from "./composition-policy.js"; import { CompositionalRoutingError } from "./compositional.js"; export type RouteCompositionalRequestV3Input = Readonly<{ activation: PublishedRoutingActivationV3; classification: IndependentDimensionScoresV3; requirements: RequestRoutingRequirements; availableModels: readonly RoutingModelAvailability[]; }>; export type SimulatedCompositionalRequestV3 = Readonly<{ policy: ReturnType; decision: AutoRoutingDecisionV3; candidates: readonly RoutingCandidateDecision[]; }>; declare const CompositionPolicyV3Fallback_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "CompositionPolicyV3Fallback"; } & Readonly; export declare class CompositionPolicyV3Fallback extends CompositionPolicyV3Fallback_base<{ readonly reason: "unknown_threshold" | "empty_composition"; }> { } export declare function simulateCompositionalRequestV3(input: RouteCompositionalRequestV3Input): SimulatedCompositionalRequestV3; export declare function routeCompositionalRequestV3(input: RouteCompositionalRequestV3Input): Effect.Effect; export {};