import type { AssistantMessage, Context } from "@mariozechner/pi-ai"; import type { AuthStore } from "../../../auth/store.js"; import type { ProviderSettings } from "../../../settings.js"; import type { ConfigModule } from "../../config/configModule.js"; import type { InferenceRegistry } from "../inferenceRegistry.js"; export type InferenceResult = { message: AssistantMessage; providerId: string; modelId: string; }; export type InferenceRouterOptions = { registry: InferenceRegistry; auth: AuthStore; config: ConfigModule; }; export type InferenceCompleteOptions = { onAttempt?: (providerId: string, modelId: string) => void; onFallback?: (providerId: string, error: unknown) => void; onSuccess?: (providerId: string, modelId: string, message: AssistantMessage) => void; onFailure?: (providerId: string, error: unknown) => void; providersOverride?: ProviderSettings[]; signal?: AbortSignal; providerOptions?: Record; }; export declare class InferenceRouter { private providers; private registry; private auth; private config; private logger; constructor(options: InferenceRouterOptions); reload(): void; complete(context: Context, sessionId: string, options?: InferenceCompleteOptions): Promise; } //# sourceMappingURL=router.d.ts.map