/**
 * Performance budget system — barrel export.
 *
 * Provides budget definitions, the PerfMonitor class for metric collection
 * and budget evaluation, and the reporter for CI/console output.
 *
 * @example
 * ```ts
 * import { createPerfMonitor, DEFAULT_BUDGETS } from './perf/index.js';
 *
 * const monitor = createPerfMonitor();
 * const report = monitor.evaluate(snapshot);
 * ```
 */
export { DEFAULT_BUDGETS } from './budgets.js';
export { PerfMonitor } from './monitor.js';
export { formatReport, exitCode } from './reporter.js';
export { SloCollector, SLO_METRICS } from './slo-collector.js';
export { CATEGORY_CONTRACTS, buildContract, createInitialComponentHealthState, createInitialPanelHealthState, } from './component-contracts.js';
export { ComponentHealthMonitor } from './component-health-monitor.js';
import { PerfMonitor } from './monitor.js';
import { DEFAULT_BUDGETS } from './budgets.js';
/**
 * Factory function that creates a PerfMonitor with the default budgets.
 * Pass a custom budgets array to override defaults.
 *
 * @param budgets - Optional custom budget definitions.
 * @returns A new PerfMonitor instance ready for evaluation.
 */
export function createPerfMonitor(budgets = DEFAULT_BUDGETS) {
    return new PerfMonitor(budgets);
}
