/**
 * Approvals Controller
 *
 * HTTP request handlers for tool approval management endpoints.
 * Allows external callers to list pending approvals and approve/reject them.
 *
 * @module controllers/approvals/approvals.controller
 */
import type { Request, Response, NextFunction } from 'express';
import type { ApprovalQueueService } from '../../services/agent/crewly-agent/approval-queue.service.js';
/**
 * Set the ApprovalQueueService instance.
 * Called during server initialization.
 *
 * @param service - The ApprovalQueueService instance
 */
export declare function setApprovalQueueService(service: ApprovalQueueService): void;
/**
 * Get the current ApprovalQueueService instance (for testing).
 *
 * @returns The current service or null
 */
export declare function getApprovalQueueService(): ApprovalQueueService | null;
/**
 * GET /api/approvals/pending
 *
 * List all pending tool approval requests.
 * Optionally filter by sessionName query parameter.
 *
 * @param req - Express request with optional ?sessionName query param
 * @param res - Express response with pending approvals array
 * @param next - Express next function
 */
export declare function getPendingApprovals(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/approvals/:id/approve
 *
 * Approve a pending tool execution request.
 *
 * @param req - Express request with approval ID in params
 * @param res - Express response with resolution result
 * @param next - Express next function
 */
export declare function approveRequest(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/approvals/:id/reject
 *
 * Reject a pending tool execution request.
 *
 * @param req - Express request with approval ID in params and optional reason in body
 * @param res - Express response with resolution result
 * @param next - Express next function
 */
export declare function rejectRequest(req: Request, res: Response, next: NextFunction): Promise<void>;
//# sourceMappingURL=approvals.controller.d.ts.map