export declare enum FeedbackType {
    BUG = "BUG",
    FEATURE = "FEATURE",
    IMPROVEMENT = "IMPROVEMENT",
    OTHER = "OTHER"
}
export declare enum FeedbackStatus {
    PENDING = "PENDING",
    IN_PROGRESS = "IN_PROGRESS",
    RESOLVED = "RESOLVED",
    CLOSED = "CLOSED"
}
export declare enum FeedbackPriority {
    LOW = "LOW",
    MEDIUM = "MEDIUM",
    HIGH = "HIGH",
    URGENT = "URGENT"
}
export declare class CreateFeedbackDto {
    type: FeedbackType;
    title: string;
    content: string;
    attachments?: string[];
    pageUrl?: string;
    userAgent?: string;
}
export declare class UpdateFeedbackDto {
    priority?: FeedbackPriority;
    adminNote?: string;
    adminReply?: string;
    assigneeId?: string;
}
export declare class UpdateStatusDto {
    status: FeedbackStatus;
}
export declare class BatchUpdateStatusDto {
    ids: string[];
    status: FeedbackStatus;
}
export declare class FeedbackQueryDto {
    page?: number;
    pageSize?: number;
    keyword?: string;
    status?: FeedbackStatus;
    type?: FeedbackType;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
}
export declare class AdminFeedbackQueryDto extends FeedbackQueryDto {
    priority?: FeedbackPriority;
    region?: string;
    userId?: string;
    assigneeId?: string;
    startDate?: string;
    endDate?: string;
}
export declare class FeedbackStatsQueryDto {
    region?: string;
    startDate?: string;
    endDate?: string;
}
export declare class UserBriefDto {
    id: string;
    displayName: string;
    email?: string;
}
export declare class FeedbackResponseDto {
    id: string;
    type: FeedbackType;
    title: string;
    content: string;
    attachments?: string[];
    pageUrl?: string;
    userAgent?: string;
    status: FeedbackStatus;
    priority?: FeedbackPriority;
    adminNote?: string;
    adminReply?: string;
    assignee?: UserBriefDto;
    resolvedAt?: Date;
    user: UserBriefDto;
    region: string;
    createdAt: Date;
    updatedAt: Date;
}
export declare class FeedbackStatsDto {
    total: number;
    byStatus: Record<FeedbackStatus, number>;
    byType: Record<FeedbackType, number>;
    byPriority: Record<string, number>;
    byRegion?: Record<string, number>;
    avgResolutionTime: number;
    todayNew: number;
    thisWeekNew: number;
    thisMonthNew: number;
}
export declare class BatchUpdateResultDto {
    total: number;
    updated: number;
    failed: number;
    failures: Array<{
        id: string;
        reason: string;
    }>;
}
