import { WorkspaceScopedResource } from './base.js';
type TaskStatus = 'pending' | 'dispatched' | 'running' | 'completed' | 'failed' | 'cancelled' | 'timeout';
type TaskTier = 'companion' | 'desktop' | 'computer_use';
interface TaskStateResponse {
    cached_tokens?: number;
    call_sid: string;
    completed_at?: string | null;
    dispatched_at?: string | null;
    duration_ms?: number | null;
    error?: string | null;
    error_type?: string | null;
    input_tokens?: number;
    output_tokens?: number;
    progress_message?: string | null;
    progress_step?: number | null;
    result?: string | null;
    skill: string;
    status: TaskStatus;
    sub_tool_count?: number;
    task_id: string;
    tier: TaskTier;
    workspace_id: string;
}
interface TaskListResponse {
    tasks: TaskStateResponse[];
}
/**
 * Tasks — long-running async jobs the platform spawns (intake processing,
 * tool executions, voice imports). The SDK exposes get-by-id and a
 * by-call lookup for retrieving every task tied to a specific call.
 *
 * @beta New in this release; surface may evolve.
 */
export declare class TasksResource extends WorkspaceScopedResource {
    /** Get the current state of a single task */
    get(taskId: string): Promise<TaskStateResponse & import("../index.js").ResponseMetadata>;
    /** List every task associated with a call (by Twilio call sid) */
    listByCall(callSid: string): Promise<TaskListResponse & import("../index.js").ResponseMetadata>;
}
export {};
//# sourceMappingURL=tasks.d.ts.map