/**
 * Type definitions for Trackex API integration
 */
export interface TrackexApiResponse<T = any> {
    success: boolean;
    message: string;
    data?: T;
    error?: string;
    pagination?: PaginationInfo;
    task_statistics?: TaskStatistics;
}
export interface PaginationInfo {
    total_records: number;
    total_pages: number;
    current_page: number;
    per_page: number;
}
export interface TaskStatistics {
    total_tasks: number;
    completed_tasks: number;
    remaining_tasks: number;
    released_tasks: number;
}
export interface Task {
    id: number;
    title: string;
    description?: string;
    status: 'pending' | 'started' | 'completed' | 'escalated';
    priority?: 'low' | 'medium' | 'high' | 'urgent';
    task_type: 'planned' | 'adhoc';
    is_adhoc: boolean;
    is_active: boolean;
    assigned_to?: number;
    created_by_id?: number;
    client_id?: number;
    project_id?: number;
    due_date?: string;
    createdAt: string;
    updatedAt: string;
    client?: Client;
    project?: Project;
    assignee?: User;
}
export interface Plan {
    id: number;
    task_id: number;
    user_id: number;
    plan_date: string;
    task_status: 'pending' | 'assigned' | 'started' | 'completed' | 'escalated';
    plan_status: 'draft' | 'published';
    is_highlight: boolean;
    is_active: boolean;
    is_started: boolean;
    plan_released: boolean;
    stuck_comments?: string;
    is_escalated: boolean;
    task: Task;
    user: User;
    assigner?: User;
}
export interface Client {
    id: number;
    client_name: string;
    is_active: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface Project {
    id: number;
    project_name: string;
    client_id: number;
    is_active: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface User {
    id: number;
    first_name: string;
    last_name: string;
    email: string;
    role_id: number;
    isActive: boolean;
    mobile?: string;
}
export interface CreateTaskRequest {
    title: string;
    description: string;
    client_id?: number;
    project_id?: number;
    task_type?: 'planned' | 'adhoc';
    priority?: 'low' | 'medium' | 'high' | 'urgent';
    is_task_assigned?: boolean;
    user_id?: number;
}
export interface CreateTaskResponse {
    id: number;
    title: string;
    description: string;
    status: string;
    task_type: string;
    priority: string;
    is_active: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface ApiError {
    error: string;
    status?: number;
    details?: any;
}
//# sourceMappingURL=api.d.ts.map