export interface ScheduledTask {
    id: string;
    title: string;
    prompt: string;
    priority: 'low' | 'medium' | 'high';
    createdAt: number;
    scheduledFor?: number;
    tags: string[];
    isActive: boolean;
    executionCount: number;
    lastExecuted?: number;
    maxExecutions: number;
    executionMode: 'once' | 'limited' | 'infinite';
    idleThresholdMinutes: number;
    idleStartTime?: number;
    lastStatusCheck?: string;
}
export interface TaskCreateData {
    title: string;
    prompt: string;
    priority?: 'low' | 'medium' | 'high';
    tags?: string[];
    executionMode?: 'once' | 'limited' | 'infinite';
    maxExecutions?: number;
    idleThresholdMinutes?: number;
    isActive?: boolean;
}
export interface TaskUpdateData {
    id: string;
    title?: string;
    prompt?: string;
    priority?: 'low' | 'medium' | 'high';
    tags?: string[];
    executionMode?: 'once' | 'limited' | 'infinite';
    maxExecutions?: number;
    idleThresholdMinutes?: number;
    isActive?: boolean;
}
export interface ListTasksOptions {
    activeOnly?: boolean;
    priority?: 'low' | 'medium' | 'high';
}
export interface SchedulerStatus {
    totalTasks: number;
    activeTasks: number;
    completedTasks: number;
    lastActivity?: number;
    isRunning: boolean;
}
export declare class PromptSchedulerManager {
    private tasksFilePath;
    private configFilePath;
    private workspaceId;
    constructor(workspaceId?: string);
    private detectWorkspace;
    private getWorkspaceHash;
    private ensureDataDirectory;
    setWorkspace(workspaceId: string): void;
    getWorkspaceInfo(): {
        workspaceId: string;
        tasksFile: string;
        configFile: string;
    };
    private generateTaskId;
    private loadTasks;
    private saveTasks;
    createTask(taskData: TaskCreateData): Promise<{
        success: boolean;
        task?: ScheduledTask;
        error?: string;
    }>;
    listTasks(options?: ListTasksOptions): Promise<{
        success: boolean;
        tasks?: ScheduledTask[];
        error?: string;
    }>;
    getTask(id: string): Promise<{
        success: boolean;
        task?: ScheduledTask;
        error?: string;
    }>;
    updateTask(updateData: TaskUpdateData): Promise<{
        success: boolean;
        task?: ScheduledTask;
        error?: string;
    }>;
    deleteTask(id: string): Promise<{
        success: boolean;
        error?: string;
    }>;
    executeTask(id: string): Promise<{
        success: boolean;
        message?: string;
        error?: string;
    }>;
    getSchedulerStatus(): Promise<{
        success: boolean;
        status?: SchedulerStatus;
        error?: string;
    }>;
}
//# sourceMappingURL=scheduler-manager.d.ts.map