import type { TokenBudgetConfig, TokenBudgetResult, OperationType } from '../../types/index.js';
/**
 * Calculates the appropriate token budget for an LLM operation.
 *
 * Tier rules:
 * - operationType 'read'         → always 1200 (readonly cap)
 * - operationType 'architecture' → always 4000 (complex)
 * - devHours ≤ 4                 → 800 (concise)
 * - devHours ≤ 12                → 2000 (standard)
 * - devHours > 12                → 4000 (complex)
 */
export declare function calculateTokenBudget(devHours: number, operationType: OperationType): number;
/**
 * Formats a numeric budget into the TALE-compliant XML tag.
 *
 * @example formatBudgetTag(800) → "<token_budget>800</token_budget>"
 */
export declare function formatBudgetTag(budget: number): string;
/**
 * Appends the token budget tag at the end of a prompt string.
 * The tag is placed on its own line after a blank separator.
 *
 * @param prompt  The LLM-facing prompt to augment.
 * @param budget  Token budget value produced by calculateTokenBudget.
 */
export declare function injectBudgetIntoPrompt(prompt: string, budget: number): string;
/**
 * Full token budget computation: calculates budget, derives tier and tag.
 *
 * @param devHours      Estimated development hours of the spec (0 = unknown → treat as concise boundary).
 * @param operationType The kind of LLM operation being performed.
 * @param config        Optional overrides (disable or custom budget).
 */
export declare function computeTokenBudget(devHours: number, operationType: OperationType, config?: TokenBudgetConfig): TokenBudgetResult;
//# sourceMappingURL=index.d.ts.map