/** * 태스크 큐 관리 * 우선순위 기반 태스크 큐 구현 */ import { Task } from "../types/index.js"; /** * 태스크 큐 인터페이스 */ export interface ITaskQueue { /** 태스크 추가 */ enqueue(task: Task): void; /** 우선순위가 가장 높은 태스크 반환 및 제거 */ dequeue(): Task | undefined; /** 큐가 비어있는지 확인 */ isEmpty(): boolean; /** 큐의 크기 반환 */ size(): number; /** 특정 태스크 ID로 태스크 제거 */ remove(taskId: string): boolean; /** 모든 태스크 반환 */ getAll(): Task[]; /** 큐 비우기 */ clear(): void; } /** * 우선순위 기반 태스크 큐 클래스 */ export declare class TaskQueue implements ITaskQueue { /** 태스크 배열 */ private queue; /** 태스크 추가 */ enqueue(task: Task): void; /** 우선순위가 가장 높은 태스크 반환 및 제거 */ dequeue(): Task | undefined; /** 큐가 비어있는지 확인 */ isEmpty(): boolean; /** 큐의 크기 반환 */ size(): number; /** 특정 태스크 ID로 태스크 제거 */ remove(taskId: string): boolean; /** 모든 태스크 반환 */ getAll(): Task[]; /** 큐 비우기 */ clear(): void; /** 우선순위에 따라 큐 정렬 */ private sort; }