import { PluginConfig, BehaviorLoopPolicyState } from './types.js';
import './index-1qIcnbG1.js';

interface RuntimePolicyValues {
    recencyWeight?: number;
    lifecyclePromoteHeatThreshold?: number;
    lifecycleStaleDecayThreshold?: number;
    cronRecallInstructionHeavyTokenCap?: number;
}
interface RuntimePolicySnapshot {
    version: number;
    updatedAt: string;
    values: RuntimePolicyValues;
    sourceAdjustmentCount: number;
}
declare function sanitizeRuntimePolicyValues(values: RuntimePolicyValues, options?: {
    maxStaleDecayThreshold?: number;
}): RuntimePolicyValues;
declare function readRuntimePolicySnapshot(filePath: string, options?: {
    maxStaleDecayThreshold?: number;
}): Promise<RuntimePolicySnapshot | null>;
declare class PolicyRuntimeManager {
    private readonly memoryDir;
    private readonly config;
    private readonly runtimePath;
    private readonly runtimePrevPath;
    constructor(memoryDir: string, config: PluginConfig);
    loadRuntimeValues(): Promise<RuntimePolicyValues | null>;
    rollback(): Promise<boolean>;
    applyFromBehaviorState(state: BehaviorLoopPolicyState): Promise<{
        applied: boolean;
        rolledBack: boolean;
        values: RuntimePolicyValues | null;
        reason: string;
    }>;
}

export { PolicyRuntimeManager, type RuntimePolicySnapshot, type RuntimePolicyValues, readRuntimePolicySnapshot, sanitizeRuntimePolicyValues };
