import type { HedgerowCondition } from './hedgerowCondition';
import type { Hedgerow, HedgerowLabel } from './hedgerows';
/**
 * Pure calculation: derives unitsRetained and unitsEnhanced for a hedgerow baseline.
 */
export declare function calculateBaselineUnits(input: {
    lengthRetained: number;
    lengthEnhanced: number;
    distinctivenessScore: number;
    conditionScore: number;
    strategicSignificanceMultiplier: number;
}): {
    unitsRetained: number;
    unitsEnhanced: number;
};
/**
 * Pure calculation: derives totalHedgerowUnits.
 */
export declare function calculateTotalHedgerowUnits(input: {
    length: number;
    distinctivenessScore: number;
    conditionScore: number;
    strategicSignificanceMultiplier: number;
}): {
    totalHedgerowUnits: number;
};
/**
 * Pure calculation: derives lengthLost and unitsLost.
 */
export declare function calculateUnitsLost(input: {
    length: number;
    lengthRetained: number;
    lengthEnhanced: number;
    totalHedgerowUnits: number;
    unitsRetained: number;
    unitsEnhanced: number;
}): {
    lengthLost: number;
    unitsLost: number;
};
/**
 * Pure calculation: derives the enhancementPathway label "<baseline> to <proposed>".
 */
export declare function calculateEnhancementPathway(input: {
    baselineCondition: HedgerowCondition;
    proposedCondition: HedgerowCondition;
}): {
    enhancementPathway: string;
};
/**
 * Pure calculation: derives finalTimeToTargetCondition for hedgerow creation
 * from standard time, advance and delay.
 */
export declare function calculateFinalTimeToTargetCondition(input: {
    standardTimeToTargetCondition: number | string | undefined;
    habitatCreatedInAdvance: number | "30+";
    delayInStartingHabitatCreation: number | "30+";
}): {
    finalTimeToTargetCondition: string | number | undefined;
};
/**
 * Pure calculation: resolves the enhancement time-to-target by branching on
 * distinctiveness then doing a key lookup into the appropriate pathway map.
 */
export declare function calculateEnhancementTimeToTarget(input: {
    baselineDistinctivenessScore: Hedgerow['distinctivenessScore'];
    distinctivenessScore: Hedgerow['distinctivenessScore'];
    yearsToTargetConditionViaDistinctiveness: Hedgerow['yearsToTargetConditionViaDistinctiveness'] | undefined;
    yearsToTargetConditionViaEnhancement: Hedgerow['yearsToTargetConditionViaEnhancement'] | undefined;
    habitatType: HedgerowLabel;
    enhancementPathway: string;
}): {
    timeToTargetCondition: number | "30+" | "Not possible ▲";
};
/**
 * Pure calculation: derives hedgerowUnitsDelivered and (when spatialRiskMultiplier is
 * supplied) hedgerowUnitsDeliveredWithSpatialRisk.
 */
export declare function calculateHedgerowUnitsDelivered(input: {
    length: number;
    distinctivenessScore: number;
    conditionScore: number;
    strategicSignificanceMultiplier: number;
    temporalMultiplier: number | string | undefined;
    difficultyMultiplier: number;
    spatialRiskMultiplier?: number;
}): {
    hedgerowUnitsDelivered: number;
    hedgerowUnitsDeliveredWithSpatialRisk: number;
};
/**
 * Pure calculation: derives hedgerowUnitsDelivered for an enhancement and (when
 * spatialRiskMultiplier is supplied) hedgerowUnitsDeliveredWithSpatialRisk.
 */
export declare function calculateEnhancementUnitsDelivered(input: {
    length: number;
    baselineDistinctivenessScore: number;
    baselineConditionScore: number;
    distinctivenessScore: number;
    conditionScore: number;
    strategicSignificanceMultiplier: number;
    temporalMultiplier: number | string | undefined;
    difficultyMultiplierApplied: number;
    spatialRiskMultiplier?: number;
}): {
    hedgerowUnitsDelivered: number;
    hedgerowUnitsDeliveredWithSpatialRisk: number;
};
//# sourceMappingURL=hedgerowCalc.d.ts.map