import { Employee, Project, Task, Bug, Timesheet, TimesheetApproval, TimesheetCategory } from '@prisma/client';
import { billingToDb } from './task';
type EmpPick = Pick<Employee, 'id' | 'name' | 'code' | 'avatarColor'>;
type Row = Timesheet & {
    employee?: EmpPick | null;
    project?: Pick<Project, 'id' | 'code' | 'name'> | null;
    task?: Pick<Task, 'id' | 'code' | 'title' | 'billingType'> | null;
    bug?: Pick<Bug, 'id' | 'code' | 'title'> | null;
};
export declare function categoryToDb(label: string): TimesheetCategory;
export declare function categoryFromTimesheetDb(c: TimesheetCategory): string;
export declare function serializeTimesheet(t: Row): {
    id: string;
    employeeId: string;
    employee: {
        id: string;
        name: string;
        code: string;
        avatarColor: string;
    } | null;
    projectId: string;
    project: {
        id: string;
        code: string;
        name: string;
    } | null;
    taskId: string | null;
    task: {
        id: string;
        code: string;
        title: string;
        billingType: string;
    } | null;
    bugId: string | null;
    bug: {
        id: string;
        code: string;
        title: string;
    } | null;
    workDate: string;
    hours: number;
    category: string;
    description: string;
    billingType: string;
    approvalStatus: string;
    fromTimer: boolean;
    autoClosed: boolean;
    createdAt: string;
    updatedAt: string;
};
export { billingToDb, TimesheetCategory, TimesheetApproval };
