import { Task, CreateTaskRequest, UpdateTaskRequest, TaskListParams, TaskComment, TaskStats } from '../types/task';
import { BaseResource } from './base';
export declare class TaskResource extends BaseResource {
    /**
     * Get list of tasks
     */
    list(params?: TaskListParams): Promise<{
        data: Task[];
    }>;
    /**
     * Get task by ID
     */
    getById(taskId: string): Promise<Task>;
    /**
     * Create new task
     */
    create(data: CreateTaskRequest): Promise<Task>;
    /**
     * Update task
     */
    update(taskId: string, data: UpdateTaskRequest): Promise<Task>;
    /**
     * Delete task
     */
    delete(taskId: string): Promise<void>;
    /**
     * Complete task
     */
    complete(taskId: string, note?: string): Promise<Task>;
    /**
     * Cancel task
     */
    cancel(taskId: string, reason?: string): Promise<Task>;
    /**
     * Get task comments
     */
    listComments(taskId: string): Promise<{
        data: TaskComment[];
    }>;
    /**
     * Add comment to task
     */
    addComment(taskId: string, data: {
        content: string;
        attachments?: string[];
    }): Promise<TaskComment>;
    /**
     * Delete comment
     */
    deleteComment(taskId: string, commentId: string): Promise<void>;
    /**
     * Get tasks statistics
     */
    getStats(params?: {
        assigned_to?: string;
        from_date?: string;
        to_date?: string;
    }): Promise<TaskStats>;
    /**
     * Get tasks by customer
     */
    getCustomerTasks(customerId: string, params?: Omit<TaskListParams, 'related_id' | 'related_type'>): Promise<{
        data: Task[];
    }>;
    /**
     * Get tasks by order
     */
    getOrderTasks(orderId: string, params?: Omit<TaskListParams, 'related_id' | 'related_type'>): Promise<{
        data: Task[];
    }>;
    /**
     * Bulk update task status
     */
    bulkUpdateStatus(taskIds: string[], status: Task['status'], note?: string): Promise<{
        success_count: number;
        failed_count: number;
        errors?: Record<string, string>;
    }>;
    /**
     * Bulk assign tasks
     */
    bulkAssign(taskIds: string[], assigneeId: string): Promise<{
        success_count: number;
        failed_count: number;
        errors?: Record<string, string>;
    }>;
}
