import { Request, Response } from 'express';
import type { ApiContext } from '../types.js';
export declare function getSystemHealth(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function getSystemMetrics(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function getSystemConfiguration(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function updateSystemConfiguration(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function getSystemLogs(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function getAlerts(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function updateAlertCondition(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function createDefaultConfig(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function healthCheck(this: ApiContext, req: Request, res: Response): Promise<void>;
export declare function getClaudeStatus(this: ApiContext, req: Request, res: Response): Promise<void>;
/**
 * Gets the local network IP address for QR code generation.
 * Returns the first non-internal IPv4 address found, or localhost as fallback.
 *
 * @param req - Express request object
 * @param res - Express response object
 * @returns JSON response with local IP address and port information
 */
export declare function getLocalIpAddress(this: ApiContext, req: Request, res: Response): Promise<void>;
/**
 * Browse directories on the server filesystem.
 * Used by frontend folder browser to let users select project paths with full paths.
 *
 * Query parameters:
 * - path: Directory to browse (defaults to home directory)
 * - showFiles: Include files in results (default: false)
 * - showHidden: Include hidden files/directories (default: false)
 *
 * @param req - Express request object
 * @param res - Express response object
 */
export declare function browseDirectories(this: ApiContext, req: Request, res: Response): Promise<void>;
/**
 * Gracefully restart the Crewly backend server.
 *
 * Saves PTY session state, responds to the caller, then exits with code 0.
 * The external process manager (nodemon, systemd, ECS, ProcessRecovery) is
 * responsible for restarting the process after exit.
 *
 * @param req - Express request object
 * @param res - Express response object
 */
export declare function restartServer(this: ApiContext, req: Request, res: Response): Promise<void>;
/**
 * POST /api/system/sops/query
 *
 * Query Standard Operating Procedures relevant to a given context.
 * Uses the SOPService to find and format relevant SOPs based on
 * the agent's role and current task context.
 *
 * @param req - Express request with body: { context, category?, role? }
 * @param res - Express response returning { success, data: { sopContext: string } }
 *
 * @example
 * ```
 * POST /api/system/sops/query
 * {
 *   "context": "implementing a new API endpoint",
 *   "role": "developer",
 *   "category": "workflow"
 * }
 * ```
 */
export declare function querySOPs(this: ApiContext, req: Request, res: Response): Promise<void>;
//# sourceMappingURL=system.controller.d.ts.map