export namespace slackSkill {
    let id: string;
    let serverName: string;
    let allowedTools: string[];
    let requiresIntegration: "slack";
    let envKeys: string[];
    let description: string;
    let promptFragment: string;
    /**
     * MCP-style agents (Claude Code / Cursor / Codex / Gemini) call
     * this. Returns the spawn spec for our self-contained MCP binary
     * (bin/mcp-slack.mjs) — replaces the previous
     * `@modelcontextprotocol/server-slack@latest` so we can expose
     * the extra routing tools (lookupByEmail, usergroups, search).
     *
     * Returns null when the binary can't be found (e.g. running
     * outside a node_modules layout) — agent strategy falls back to
     * its built-in tools; the in-process path keeps working for the
     * `assistant` agent via handleToolCall.
     */
    function resolve(): {
        type: string;
        command: string;
        args: any[];
        env: {};
        alwaysLoad: boolean;
    };
    function handleToolCall(name: any, args: any): Promise<string>;
    let tools: ({
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel?: undefined;
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required?: undefined;
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel: {
                    type: string;
                    description: string;
                };
                text: {
                    type: string;
                    description: string;
                };
                blocks: {
                    type: string;
                    description: string;
                };
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel: {
                    type: string;
                    description: string;
                };
                thread_ts: {
                    type: string;
                    description: string;
                };
                text: {
                    type: string;
                    description: string;
                };
                blocks?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel: {
                    type: string;
                    description: string;
                };
                timestamp: {
                    type: string;
                    description: string;
                };
                reaction: {
                    type: string;
                    description: string;
                };
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel: {
                    type: string;
                    description: string;
                };
                limit: {
                    type: string;
                    description: string;
                };
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                channel: {
                    type: string;
                    description: string;
                };
                thread_ts: {
                    type: string;
                    description: string;
                };
                text?: undefined;
                blocks?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                user_id: {
                    type: string;
                    description: string;
                };
                channel?: undefined;
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                email?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                email: {
                    type: string;
                    description: string;
                };
                channel?: undefined;
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                usergroup?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                usergroup: {
                    type: string;
                    description: string;
                };
                channel?: undefined;
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                limit?: undefined;
                user_id?: undefined;
                email?: undefined;
                query?: undefined;
            };
            required: string[];
        };
    } | {
        name: string;
        description: string;
        input_schema: {
            type: string;
            properties: {
                query: {
                    type: string;
                    description: string;
                };
                limit: {
                    type: string;
                    description: string;
                };
                channel?: undefined;
                text?: undefined;
                blocks?: undefined;
                thread_ts?: undefined;
                timestamp?: undefined;
                reaction?: undefined;
                user_id?: undefined;
                email?: undefined;
                usergroup?: undefined;
            };
            required: string[];
        };
    })[];
}
