import { z } from "zod"; import type { AiManagedConnectionSummary } from "./ai-connections.js"; export declare const DECISION_MODELS: { readonly openai: { readonly id: "gpt-6-luna"; readonly name: "GPT-6 Luna"; }; readonly openrouter: { readonly id: "typesafe/jev-1.13"; readonly name: "Jev 1.13"; }; }; export type DecisionProvider = keyof typeof DECISION_MODELS; export declare const updateDecisionModelSchema: z.ZodObject<{ enabled: z.ZodBoolean; connectionId: z.ZodNullable; grantId: z.ZodNullable; allowBackground: z.ZodOptional; }, z.core.$strip>; export type UpdateDecisionModel = z.infer; export interface DecisionModelSettings extends UpdateDecisionModel { allowBackground: boolean; companyId: string; provider: DecisionProvider | null; model: string | null; } export type DecisionConnectionChoice = AiManagedConnectionSummary & { decisionModel: string; }; export type DecisionUnavailableReason = "not_configured" | "disabled" | "connection_unavailable" | "incompatible_connection" | "access_denied" | "responsible_user_missing" | "background_disabled" | "budget_blocked"; export type DecisionAvailability = { available: true; } | { available: false; reason: DecisionUnavailableReason; }; export declare const decisionQuestionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"boolean">; instructions: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"choice">; instructions: z.ZodString; criteria: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"score">; instructions: z.ZodString; criteria: z.ZodArray; }, z.core.$strip>], "type">; export declare const decisionRequestSchema: z.ZodObject<{ state: z.ZodUnion, z.ZodArray]>; questions: z.ZodRecord; instructions: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"choice">; instructions: z.ZodString; criteria: z.ZodRecord; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"score">; instructions: z.ZodString; criteria: z.ZodArray; }, z.core.$strip>], "type">>; }, z.core.$strip>; export type DecisionRequest = z.infer; export type DecisionAnswer = { type: "boolean"; probability: number; confidence?: number; } | { type: "choice"; choice: string; probabilities?: Record; confidence?: number; } | { type: "score"; score: number; probabilities?: Record; confidence?: number; }; export interface DecisionUsage { inputTokens: number | null; outputTokens: number | null; costCents: string | null; costStatus: "reported" | "estimated" | "unpriced"; } export type DecisionResult = { status: "succeeded"; invocationId: string; answers: Record; usage: DecisionUsage; } | { status: "unavailable"; reason: DecisionUnavailableReason; invocationId?: string; } | { status: "failed"; invocationId: string; errorCode: string; usage: DecisionUsage; }; export interface DecisionHistoryEntry { id: string; feature: string; actorType: string; responsibleUserId: string | null; userName: string | null; issueId: string | null; issueIdentifier: string | null; agentId: string | null; runId: string | null; connectionId: string; provider: string; model: string; status: string; errorCode: string | null; startedAt: string; finishedAt: string | null; durationMs: number | null; inputTokens: number | null; outputTokens: number | null; costCents: string | null; costStatus: string | null; } export declare const DECISION_TEST_REQUEST: DecisionRequest; /** Native endpoints only; OpenRouter's official routing metadata is compatible. */ export declare function decisionProviderForConnection(metadata: { provider: string; method: string; routing?: { kind: string; baseUrl?: string; }; }): DecisionProvider | null; //# sourceMappingURL=decision-models.d.ts.map