import { Bug, BugAssignment, BugSeverity, BugStatus, Employee, Project, Task } from '@prisma/client';
type EmpPick = Pick<Employee, 'id' | 'name' | 'code' | 'avatarColor'>;
type BugRow = Bug & {
    assignee?: EmpPick | null;
    reporter?: EmpPick | null;
    assignments?: BugAssignment[];
    parentTask?: (Pick<Task, 'id' | 'code' | 'title' | 'projectId'> & {
        project?: Pick<Project, 'id' | 'code' | 'name' | 'color' | 'allowTypedEvidence'> | null;
    }) | null;
    attachments?: {
        id: string;
        kind: string | null;
    }[];
};
export declare function statusFromBugDb(s: BugStatus): string;
export declare function statusToBugDb(label: string): BugStatus;
export declare function severityToBugDb(label: string): BugSeverity;
export declare function serializeBug(b: BugRow): {
    id: string;
    code: string;
    parentTaskId: string;
    parentTask: {
        id: string;
        code: string;
        title: string;
        projectId: string;
    } | null;
    projectId: string | null;
    project: {
        id: string;
        code: string;
        name: string;
        color: string;
        allowTypedEvidence: boolean;
    } | null;
    title: string;
    description: string;
    reproSteps: string;
    expected: string;
    actual: string;
    severity: string;
    priority: number;
    assigneeId: string | null;
    assignee: {
        id: string;
        name: string;
        code: string;
        avatarColor: string;
    } | null;
    reporterId: string;
    reporter: {
        id: string;
        name: string;
        code: string;
        avatarColor: string;
    } | null;
    assignments: {
        employeeId: string;
        allocatedHours: number;
    }[];
    allocatedHours: number;
    status: string;
    resolutionNotes: string;
    blocking: boolean;
    unitTestEvidence: import("@prisma/client/runtime/library").JsonValue;
    createdAt: string;
    updatedAt: string;
};
export { BugStatus, BugSeverity };
