/**
 * Orchestrator Status Service
 *
 * Provides utilities to check the status of the orchestrator.
 * Used by Chat and Slack services to provide appropriate feedback
 * when the orchestrator is not running.
 *
 * @module services/orchestrator/orchestrator-status.service
 */
/**
 * Result of an orchestrator status check
 */
export interface OrchestratorStatusResult {
    /** Whether the orchestrator is active and ready to receive messages */
    isActive: boolean;
    /** The current agent status of the orchestrator */
    agentStatus: string | null;
    /** Human-readable status message */
    message: string;
}
/**
 * Check if the orchestrator is currently active and ready to receive messages.
 *
 * @returns Promise resolving to true if orchestrator is active
 *
 * @example
 * ```typescript
 * if (await isOrchestratorActive()) {
 *   // Safe to send message to orchestrator
 * } else {
 *   // Show user-friendly offline message
 * }
 * ```
 */
export declare function isOrchestratorActive(): Promise<boolean>;
/**
 * Get detailed orchestrator status information.
 *
 * Uses the storageService.getOrchestratorStatus() method which reads the
 * orchestrator data directly from storage (not from the teams array).
 *
 * @returns Promise resolving to status details including active state and message
 *
 * @example
 * ```typescript
 * const status = await getOrchestratorStatus();
 * if (!status.isActive) {
 *   showError(status.message);
 * }
 * ```
 */
export declare function getOrchestratorStatus(): Promise<OrchestratorStatusResult>;
/**
 * Check if a specific agent is currently active by verifying its PTY session exists
 * and has a running child process.
 *
 * @param sessionName - The agent's session name to check
 * @returns Promise resolving to true if the agent's session is alive
 */
export declare function isAgentActive(sessionName: string): Promise<boolean>;
/**
 * Get a user-friendly message for when the orchestrator is offline.
 * Useful for Slack and Chat responses.
 *
 * @param includeUrl - Whether to include the dashboard URL in the message
 * @returns A user-friendly offline message
 */
export declare function getOrchestratorOfflineMessage(includeUrl?: boolean): string;
//# sourceMappingURL=orchestrator-status.service.d.ts.map