import React from 'react';
import { ScheduleRunner } from '../schedule/runner.js';
import type { DevelopmentMode, Message } from '../types/core.js';
interface UseSchedulerModeProps {
    isSchedulerMode: boolean;
    mcpInitialized: boolean;
    setDevelopmentMode: (updater: DevelopmentMode | ((prev: DevelopmentMode) => DevelopmentMode)) => void;
    handleMessageSubmit: (message: string) => Promise<void>;
    clearMessages: () => Promise<void>;
    isConversationComplete: boolean;
    isToolExecuting: boolean;
    isToolConfirmationMode: boolean;
    messages: Message[];
    addToChatQueue: (component: React.ReactNode) => void;
}
export interface SchedulerModeResult {
    schedulerRunner: ScheduleRunner | null;
    activeJobCount: number;
    queueLength: number;
    isProcessing: boolean;
    currentJobCommand: string | null;
}
/**
 * Manages scheduler mode lifecycle.
 * When isSchedulerMode becomes true, creates a ScheduleRunner, switches to scheduler dev mode,
 * and starts cron jobs. When isSchedulerMode becomes false, stops everything.
 */
export declare function useSchedulerMode({ isSchedulerMode, mcpInitialized, setDevelopmentMode, handleMessageSubmit, clearMessages, isConversationComplete, }: UseSchedulerModeProps): SchedulerModeResult;
export {};
//# sourceMappingURL=useSchedulerMode.d.ts.map