import type { Medium, RuleDecision, RuleDefinition } from "../types.js"; export interface RuleExportData { version: string; exportedAt: string; source: { projectDir: string; projectPhase?: string; teamSize?: string; techStack?: string[]; }; rules: Array<{ ruleId: string; ruleName: string; recommendedMedium: Medium; confidence: number; alternativeMedia: Medium[]; reasons: string[]; }>; } export interface RuleImportResult { decisions: RuleDecision[]; total: number; warnings: string[]; } export interface RulePreset { id: string; name: string; description: string; techStack: string[]; decisions: Array<{ ruleId: string; recommendedMedium: Medium; }>; } export declare class RuleIO { private projectDir; constructor(projectDir: string); /** * Export current rule configuration as portable JSON. */ exportRules(decisions: RuleDecision[], metadata?: { projectPhase?: string; teamSize?: string; techStack?: string[]; }): RuleExportData; /** * Save export data to a file. */ saveExport(data: RuleExportData, filename?: string): string; /** * Load export data from a file. */ loadExport(filePath: string): RuleExportData; /** * Import rules from export data and convert back to RuleDecision[]. */ importRules(data: RuleExportData, enrichFromDefinitions?: RuleDefinition[]): RuleImportResult; /** * Get a preset configuration by ID. */ getPreset(presetId: string): RulePreset | undefined; /** * List all available presets. */ listPresets(): RulePreset[]; /** * List saved export files. */ listExports(): string[]; } //# sourceMappingURL=rule_io.d.ts.map