import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { ApprovalManager } from './approval-manager.js';
import { ConfigManager } from '../../config/config-manager.js';
export declare function setupApprovalSystem(server: Server, configManager?: ConfigManager): Promise<{
    tools: ({
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                toolName: {
                    type: string;
                    description: string;
                };
                action: {
                    type: string;
                    description: string;
                };
                parameters: {
                    type: string;
                    description: string;
                };
                userId: {
                    type: string;
                    description: string;
                };
                ttl: {
                    type: string;
                    description: string;
                };
                requestId?: undefined;
                reason?: undefined;
                startDate?: undefined;
                endDate?: undefined;
                result?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                requestId: {
                    type: string;
                    description: string;
                };
                userId: {
                    type: string;
                    description: string;
                };
                toolName?: undefined;
                action?: undefined;
                parameters?: undefined;
                ttl?: undefined;
                reason?: undefined;
                startDate?: undefined;
                endDate?: undefined;
                result?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                requestId: {
                    type: string;
                    description: string;
                };
                userId: {
                    type: string;
                    description: string;
                };
                reason: {
                    type: string;
                    description: string;
                };
                toolName?: undefined;
                action?: undefined;
                parameters?: undefined;
                ttl?: undefined;
                startDate?: undefined;
                endDate?: undefined;
                result?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                userId: {
                    type: string;
                    description: string;
                };
                toolName?: undefined;
                action?: undefined;
                parameters?: undefined;
                ttl?: undefined;
                requestId?: undefined;
                reason?: undefined;
                startDate?: undefined;
                endDate?: undefined;
                result?: undefined;
            };
            required: any[];
        };
    } | {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                startDate: {
                    type: string;
                    description: string;
                };
                endDate: {
                    type: string;
                    description: string;
                };
                userId: {
                    type: string;
                    description: string;
                };
                toolName: {
                    type: string;
                    description: string;
                };
                result: {
                    type: string;
                    enum: string[];
                };
                action?: undefined;
                parameters?: undefined;
                ttl?: undefined;
                requestId?: undefined;
                reason?: undefined;
            };
            required: any[];
        };
    })[];
}>;
export declare function getApprovalManager(): ApprovalManager;
//# sourceMappingURL=index.d.ts.map