export type FeedbackKind = "feedback" | "bug"; export type FeedbackSeverity = "minor" | "moderate" | "significant"; export interface FeedbackReport { id: string; kind: FeedbackKind; category?: string; severity?: FeedbackSeverity; message: string; email?: string; skill_id?: string; context: { cli_version: string; platform: string; tier: string; device_id?: string; timestamp: string; project?: string; }; } export interface BuildReportInput { kind: FeedbackKind; message: string; category?: string; severity?: FeedbackSeverity; email?: string; skill_id?: string; cliVersion?: string; projectPath?: string; } /** Assemble a feedback report with auto-captured, non-sensitive context. Pure-ish. */ export declare function buildReport(input: BuildReportInput): FeedbackReport; /** * Append the report to a project's `.project-ai/FEEDBACK_LOG.yaml` if present, so * `skill-learner` can consume it locally. No-op (returns false) when there is no log. */ export declare function appendToProjectLog(projectPath: string, report: FeedbackReport): boolean; export declare function queueReport(report: FeedbackReport): void; /** * Offline-first submit: queue the report, then attempt to flush the queue to the * backend. Returns whether THIS report reached the server (false = safely queued). */ export declare function submitFeedback(report: FeedbackReport): Promise<{ submitted: boolean; }>; /** Send queued reports to the backend; drop the ones the server accepts. */ export declare function flushFeedback(): Promise; //# sourceMappingURL=feedback.d.ts.map