export type FeedbackType = 'bug' | 'feature' | 'suggestion' | 'dx';
export type FeedbackStatus = 'pending' | 'triaged' | 'spec_created' | 'implementing' | 'resolved' | 'dismissed';
export interface FeedbackEntry {
    id: string;
    type: FeedbackType;
    title: string;
    description: string;
    context?: {
        projectPath?: string;
        currentFile?: string;
        errorMessage?: string;
        stack?: string;
    };
    status: FeedbackStatus;
    specId?: string;
    prUrl?: string;
    resolvedAt?: string;
    resolvedNotes?: string;
    createdAt: string;
    planuVersion: string;
    tags?: string[];
    votes?: number;
}
export interface FeedbackFilter {
    type?: FeedbackType;
    status?: FeedbackStatus;
    specId?: string;
}
export interface FeedbackSummary {
    total: number;
    byType: Record<FeedbackType, number>;
    byStatus: Record<FeedbackStatus, number>;
    pending: number;
    resolved: number;
    avgResolutionDays: number;
    topRequests: {
        title: string;
        votes: number;
        id: string;
    }[];
}
export interface TriageGroup {
    representative: FeedbackEntry;
    similar: FeedbackEntry[];
    suggestedAction: 'create_spec' | 'merge_with_existing' | 'dismiss';
    suggestedSpecTitle?: string;
}
export interface SubmitFeedbackInput {
    type: string;
    title: string;
    description: string;
    context?: {
        projectPath?: string;
        currentFile?: string;
        errorMessage?: string;
        stack?: string;
    };
}
export interface TriageFeedbackInput {
    filter?: string;
}
export interface ResolveFeedbackInput {
    feedbackId: string;
    specId?: string;
    prUrl?: string;
    notes?: string;
}
export interface RemoteFeedbackPayload {
    type: string;
    title: string;
    description: string;
    planuVersion: string;
    stack?: string;
    tags?: string[];
}
//# sourceMappingURL=feedback.d.ts.map