/**
 * ADR-PIPELINE-072 §2: Bottom-up financial model for the pre-render pass.
 *
 * Pure functions. Given a query + domain analysis + scenario, compute a
 * `UnitEconomics` shape with `source='prototype-preview'` that the executive
 * renderer's ADR-066 tier-1 path can consume.
 *
 * **Invariant: no per-employee math for savings.** Employees MAY appear as
 * context (region mix, scale reference) but MUST NOT be the multiplicand in
 * the savings formula. Every savings number derives from
 *     operational_units × unit_cost × waste_rate × achievable_reduction
 */
import type { UnitEconomics, UnitEconomicsScope } from '../types.js';
import { type Sector, type DomainScale } from '../../synthesis/domain-unit-registry.js';
import { type SectorBaseline } from './sector-baselines.js';
export interface PreRenderFinancialInput {
    readonly runId: string;
    readonly query: string;
    /** Sector hint from the domain-analysis / phase-4 output. Optional. */
    readonly sectorHint?: string | null;
    /** Operational scope from the scenario artifact. Optional. */
    readonly scopeOverrides?: Partial<UnitEconomicsScope>;
    /** Extrapolation scale factor — pilot_units / enterprise_units. */
    readonly scopeRatioOverride?: number;
}
export interface PreRenderFinancialOutput {
    readonly manifest: UnitEconomics;
    readonly metrics: {
        readonly sector: Sector;
        readonly domainScale: DomainScale;
        readonly baseline: SectorBaseline;
        readonly pilotOperationalUnits: number;
        readonly enterpriseOperationalUnits: number;
        readonly usdPerUnitPerYear: number;
        readonly annualMeasuredSavingsUsd: number;
        readonly annualExtrapolatedSavingsUsd: number;
        readonly confidence: number;
    };
}
export declare class PreRenderFinancialError extends Error {
    readonly code: string;
    constructor(message: string, code?: string);
}
/**
 * Compute a `unit-economics.json`-shaped manifest from the query + optional
 * domain analysis. Returns null when the sector is unknown (caller falls
 * back to ADR-066 tier-3 heuristic banner — worse than having a preview,
 * but still honest).
 */
export declare function computePreRenderUnitEconomics(input: PreRenderFinancialInput): PreRenderFinancialOutput | null;
//# sourceMappingURL=financial-model.d.ts.map