export interface AcceptanceCriterion {
    id: string;
    description: string;
    status: 'pending' | 'in_progress' | 'completed' | 'failed';
    verifiedBy?: string;
    verifiedAt?: Date;
}
export interface TaskDependency {
    id: string;
    type: 'blocks' | 'blocked_by' | 'relates_to' | 'parent_of' | 'child_of';
    targetId: string;
    targetType: 'task' | 'story' | 'epic';
    description?: string;
    createdAt: Date;
}
export interface TimeTracking {
    estimated: number;
    actual: number;
    remaining: number;
    logs: TimeLog[];
}
export interface TimeLog {
    id: string;
    userId: string;
    hours: number;
    date: Date;
    description?: string;
}
export interface Attachment {
    id: string;
    name: string;
    url: string;
    type: string;
    size: number;
    uploadedBy: string;
    uploadedAt: Date;
}
export interface Comment {
    id: string;
    userId: string;
    content: string;
    createdAt: Date;
    updatedAt?: Date;
    editedBy?: string;
}
export interface ActivityLog {
    id: string;
    userId: string;
    action: string;
    entityType: 'task' | 'story' | 'epic' | 'sprint';
    entityId: string;
    changes?: Record<string, {
        old: any;
        new: any;
    }>;
    timestamp: Date;
}
export interface CustomField {
    id: string;
    name: string;
    type: 'text' | 'number' | 'date' | 'select' | 'multiselect' | 'boolean';
    value: any;
    options?: string[];
    required?: boolean;
}
export interface Subtask {
    id: string;
    title: string;
    completed: boolean;
    assignee?: string;
    completedAt?: Date;
    completedBy?: string;
}
//# sourceMappingURL=task-types.d.ts.map