import type { AdvisoryBudget, AdvisoryCallRecord } from '../types/advisory/index.js';
import type { TriggerEvaluator } from './evaluator.js';
import type { AdvisoryExecutor } from './executor.js';
import type { AdvisorRegistry } from './registry.js';
export declare class AdvisoryContext {
    readonly registry: AdvisorRegistry;
    readonly executor: AdvisoryExecutor;
    readonly evaluator: TriggerEvaluator;
    readonly callHistory: AdvisoryCallRecord[];
    private readonly budget;
    constructor(registry: AdvisorRegistry, executor: AdvisoryExecutor, evaluator: TriggerEvaluator, budget?: AdvisoryBudget);
    recordCall(record: AdvisoryCallRecord): void;
    getBudgetStatus(): {
        remaining: number | undefined;
        total: number | undefined;
        used: number;
    };
    checkBudget(): {
        allowed: boolean;
        reason?: string;
    };
}
//# sourceMappingURL=context.d.ts.map