/** * AgentGuard(TM) Spend: Advisor conversation state. * * Patent notice: Protected by U.S. patent-pending technology * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626; * 64/071,781; 64/071,789). */ import type { CapabilityTier, SpendPolicy } from '../types'; import { type GovernancePosture } from './posture'; export type AdvisorQuestionId = 'building' | 'posture' | 'scale' | 'tasks' | 'budget' | 'confirm'; export interface AdvisorQuestion { id: AdvisorQuestionId; prompt: string; } export interface AdvisorAnswers { building?: string; scale?: string; tasks?: string; budget?: string; confirm?: string; language?: 'ts' | 'py'; posture?: GovernancePosture; } export interface AdvisorBusinessProfile { vertical: string; tenantId: string; teamSize: number; monthlyVolume: number; tasks: string[]; monthlyBudgetCents: number; requiredCapability: CapabilityTier; primaryModel: string; fallbackModel: string; hostedOssModel: string; offlineModel: string; baaCoveredModel: string; perCallCapCents: number; perDayCapCents: number; perMonthCapCents: number; scopeLabel: string; language: 'ts' | 'py'; posture: GovernancePosture; } export interface ProjectedSavingsRow { label: string; beforeCents: number; afterCents: number; savingsCents: number; } export interface ProjectedSavings { rows: ProjectedSavingsRow[]; monthlyBeforeCents: number; monthlyAfterCents: number; monthlySavingsCents: number; savingsPercent: number; } export declare const ADVISOR_QUESTIONS: AdvisorQuestion[]; export declare function isChineseOriginModel(model: string): boolean; export declare function enforceAdvisorModelPolicy(model: string, posture: GovernancePosture, replacement?: string): string; export declare class AdvisorConversation { private answers; private index; constructor(initial?: AdvisorAnswers); currentQuestion(): AdvisorQuestion | null; answer(value: string): void; next(): AdvisorQuestion | null; back(): AdvisorQuestion | null; isComplete(): boolean; snapshot(): AdvisorAnswers; setPosture(posture: GovernancePosture): void; profile(cwd?: string): AdvisorBusinessProfile; } export declare function detectVertical(text: string): string; export declare function suggestedPostureForText(text: string): GovernancePosture; export declare function buildBusinessProfile(answers: AdvisorAnswers, cwd?: string): AdvisorBusinessProfile; export declare function buildPolicyFromProfile(profile: AdvisorBusinessProfile): SpendPolicy; export declare function projectedSavings(profile: AdvisorBusinessProfile): ProjectedSavings; export declare function formatCents(cents: number): string; export declare function detectProjectLanguage(cwd: string): 'ts' | 'py'; //# sourceMappingURL=conversation.d.ts.map