/** Status of an inspiration entry */ export type InspirationStatus = 'backlogged' | 'planned' | 'implemented' | 'rejected'; /** A single inspiration entry tracking an external project and extracted ideas */ export interface InspirationEntry { id: string; source_url: string; project_name: string; ideas: string[]; status: InspirationStatus; rejected_reason?: string; tags?: string[]; linked_sprints: number[]; added_at: string; notes?: string; } /** Top-level inspirations file schema */ export interface InspirationsFile { version: '1'; last_updated: string; inspirations: InspirationEntry[]; } /** Result of inspiration validation */ export interface InspirationValidationResult { errors: string[]; warnings: string[]; } /** Parse and validate an inspirations JSON string */ export declare function parseInspirations(json: string): InspirationsFile; /** Validate inspirations — check for duplicate IDs and structural issues */ export declare function validateInspirations(file: InspirationsFile): InspirationValidationResult; /** Load and parse inspirations from a file path. Returns null if file doesn't exist. */ export declare function loadInspirations(inspirationsPath: string): InspirationsFile | null; /** Derive a kebab-case ID from a project name */ export declare function deriveId(projectName: string): string; /** * Link an inspiration to a sprint number. Idempotent — no error if already linked. * Writes the updated file back to disk. */ export declare function linkInspirationToSprint(inspirationsPath: string, inspirationId: string, sprintNumber: number): InspirationsFile; //# sourceMappingURL=inspirations.d.ts.map