import { z } from 'zod';
import { ToolBubble } from '../../types/tool-bubble-class.js';
import type { BubbleContext } from '../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
declare const GetTriggerDetailToolParamsSchema: z.ZodObject<{
    triggerType: z.ZodOptional<z.ZodString>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    triggerType?: string | undefined;
}, {
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    triggerType?: string | undefined;
}>;
type GetTriggerDetailToolParamsInput = z.input<typeof GetTriggerDetailToolParamsSchema>;
type GetTriggerDetailToolParams = z.output<typeof GetTriggerDetailToolParamsSchema>;
declare const GetTriggerDetailToolResultSchema: z.ZodObject<{
    triggerType: z.ZodOptional<z.ZodString>;
    serviceName: z.ZodOptional<z.ZodString>;
    friendlyName: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    setupGuide: z.ZodOptional<z.ZodString>;
    payloadSchema: z.ZodOptional<z.ZodString>;
    payloadTypeInterface: z.ZodOptional<z.ZodString>;
    availableTriggers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodString;
        friendlyName: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: string;
        description: string;
        friendlyName: string;
    }, {
        type: string;
        description: string;
        friendlyName: string;
    }>, "many">>;
    success: z.ZodBoolean;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    error: string;
    description?: string | undefined;
    triggerType?: string | undefined;
    serviceName?: string | undefined;
    friendlyName?: string | undefined;
    setupGuide?: string | undefined;
    payloadSchema?: string | undefined;
    payloadTypeInterface?: string | undefined;
    availableTriggers?: {
        type: string;
        description: string;
        friendlyName: string;
    }[] | undefined;
}, {
    success: boolean;
    error: string;
    description?: string | undefined;
    triggerType?: string | undefined;
    serviceName?: string | undefined;
    friendlyName?: string | undefined;
    setupGuide?: string | undefined;
    payloadSchema?: string | undefined;
    payloadTypeInterface?: string | undefined;
    availableTriggers?: {
        type: string;
        description: string;
        friendlyName: string;
    }[] | undefined;
}>;
type GetTriggerDetailToolResult = z.output<typeof GetTriggerDetailToolResultSchema>;
export declare class GetTriggerDetailTool extends ToolBubble<GetTriggerDetailToolParams, GetTriggerDetailToolResult> {
    static readonly type: "tool";
    static readonly bubbleName = "get-trigger-detail-tool";
    static readonly schema: z.ZodObject<{
        triggerType: z.ZodOptional<z.ZodString>;
        credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        triggerType?: string | undefined;
    }, {
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        triggerType?: string | undefined;
    }>;
    static readonly resultSchema: z.ZodObject<{
        triggerType: z.ZodOptional<z.ZodString>;
        serviceName: z.ZodOptional<z.ZodString>;
        friendlyName: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        setupGuide: z.ZodOptional<z.ZodString>;
        payloadSchema: z.ZodOptional<z.ZodString>;
        payloadTypeInterface: z.ZodOptional<z.ZodString>;
        availableTriggers: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodString;
            friendlyName: z.ZodString;
            description: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: string;
            description: string;
            friendlyName: string;
        }, {
            type: string;
            description: string;
            friendlyName: string;
        }>, "many">>;
        success: z.ZodBoolean;
        error: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        success: boolean;
        error: string;
        description?: string | undefined;
        triggerType?: string | undefined;
        serviceName?: string | undefined;
        friendlyName?: string | undefined;
        setupGuide?: string | undefined;
        payloadSchema?: string | undefined;
        payloadTypeInterface?: string | undefined;
        availableTriggers?: {
            type: string;
            description: string;
            friendlyName: string;
        }[] | undefined;
    }, {
        success: boolean;
        error: string;
        description?: string | undefined;
        triggerType?: string | undefined;
        serviceName?: string | undefined;
        friendlyName?: string | undefined;
        setupGuide?: string | undefined;
        payloadSchema?: string | undefined;
        payloadTypeInterface?: string | undefined;
        availableTriggers?: {
            type: string;
            description: string;
            friendlyName: string;
        }[] | undefined;
    }>;
    static readonly shortDescription = "Provides detailed information about BubbleFlow trigger types including setup guides and payload schemas";
    static readonly longDescription = "\n    A tool that retrieves comprehensive information about BubbleFlow trigger types.\n\n    Returns detailed information including:\n    - Service name and friendly display name\n    - Description of what the trigger does\n    - Setup guide with step-by-step configuration instructions\n    - Payload schema (JSON Schema format)\n    - TypeScript interface name for proper typing\n\n    Use cases:\n    - Understanding how to configure a specific trigger (Slack, Cron, Webhook)\n    - Getting the correct payload interface to extend in your BubbleFlow\n    - Learning about available trigger types\n    - Generating properly typed BubbleFlow code\n\n    If no triggerType is specified, returns a list of all available triggers.\n  ";
    static readonly alias = "trigger";
    constructor(params: GetTriggerDetailToolParamsInput, context?: BubbleContext);
    performAction(context?: BubbleContext): Promise<GetTriggerDetailToolResult>;
}
export {};
//# sourceMappingURL=get-trigger-detail-tool.d.ts.map