/**
 * DAGScheduler — TaskNode (HiveLearn local copy)
 */
export type NodeStatus = "PENDING" | "READY" | "RUNNING" | "COMPLETED" | "FAILED";
export interface TaskNodeConfig {
    id: string;
    agentId: string;
    name: string;
    taskDescription: string;
    deps: string[];
    timeout?: number;
    maxRetries?: number;
    priority?: number;
    metadata?: Record<string, unknown>;
}
export declare class TaskNode {
    readonly id: string;
    readonly agentId: string;
    readonly name: string;
    readonly taskDescription: string;
    readonly deps: string[];
    readonly timeout: number;
    readonly maxRetries: number;
    readonly priority: number;
    readonly metadata: Record<string, unknown>;
    status: NodeStatus;
    retryCount: number;
    startedAt?: number;
    completedAt?: number;
    result?: string;
    error?: string;
    constructor(config: TaskNodeConfig);
    canStart(completedIds: Set<string>): boolean;
    markReady(): void;
    markRunning(): void;
    markCompleted(result: string): void;
    markFailed(error: string): void;
    canRetry(): boolean;
    elapsedSeconds(): number;
}
