import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type DocuSignParamsInput, type DocuSignResult } from './docusign.schema.js';
/**
 * DocuSign Service Bubble
 *
 * eSignature integration for managing document signing workflows.
 *
 * Features:
 * - Create and send envelopes with documents and signers
 * - Create envelopes from pre-built templates
 * - Track envelope and recipient signing status
 * - Configure automatic reminders and expiration
 * - Download signed documents
 * - Void and resend envelopes
 *
 * Use cases:
 * - Automate agreement lifecycle (send, track, remind)
 * - Savings account agreement workflows
 * - Contract management and tracking
 * - Bulk envelope status monitoring
 */
export declare class DocuSignBubble<T extends DocuSignParamsInput = DocuSignParamsInput> extends ServiceBubble<T, Extract<DocuSignResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "docusign";
    static readonly authType: "oauth";
    static readonly bubbleName = "docusign";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_envelope">;
        email_subject: import("zod").ZodString;
        documents: import("zod").ZodArray<import("zod").ZodObject<{
            name: import("zod").ZodString;
            file_extension: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
            document_base64: import("zod").ZodString;
            document_id: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            document_id: string;
            file_extension: string;
            document_base64: string;
        }, {
            name: string;
            document_base64: string;
            document_id?: string | undefined;
            file_extension?: string | undefined;
        }>, "many">;
        signers: import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
            routing_order: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
            tabs: import("zod").ZodOptional<import("zod").ZodObject<{
                sign_here: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    document_id: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    page_number: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    x_position: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    y_position: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                }, "strip", import("zod").ZodTypeAny, {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }, {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }>, "many">>;
                date_signed: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    document_id: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    page_number: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    x_position: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    y_position: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                }, "strip", import("zod").ZodTypeAny, {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }, {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }>, "many">>;
                text: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    document_id: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    page_number: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                    x_position: import("zod").ZodString;
                    y_position: import("zod").ZodString;
                    tab_label: import("zod").ZodString;
                    value: import("zod").ZodOptional<import("zod").ZodString>;
                    required: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
                }, "strip", import("zod").ZodTypeAny, {
                    required: string;
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                }, {
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                    required?: string | undefined;
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                }>, "many">>;
            }, "strip", import("zod").ZodTypeAny, {
                text?: {
                    required: string;
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
                date_signed?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
            }, {
                text?: {
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                    required?: string | undefined;
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
                date_signed?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
            }>>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            email: string;
            routing_order: string;
            tabs?: {
                text?: {
                    required: string;
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
                date_signed?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
            } | undefined;
            recipient_id?: string | undefined;
        }, {
            name: string;
            email: string;
            tabs?: {
                text?: {
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                    required?: string | undefined;
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
                date_signed?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
            } | undefined;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
        }>, "many">;
        cc_recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
            routing_order: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            email: string;
            routing_order: string;
            recipient_id?: string | undefined;
        }, {
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
        }>, "many">>;
        email_body: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["sent", "created"]>>>;
        reminder_enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
        reminder_delay: import("zod").ZodOptional<import("zod").ZodString>;
        reminder_frequency: import("zod").ZodOptional<import("zod").ZodString>;
        expire_enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
        expire_after: import("zod").ZodOptional<import("zod").ZodString>;
        expire_warn: import("zod").ZodOptional<import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        status: "created" | "sent";
        operation: "create_envelope";
        email_subject: string;
        documents: {
            name: string;
            document_id: string;
            file_extension: string;
            document_base64: string;
        }[];
        signers: {
            name: string;
            email: string;
            routing_order: string;
            tabs?: {
                text?: {
                    required: string;
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
                date_signed?: {
                    document_id: string;
                    page_number: string;
                    x_position: string;
                    y_position: string;
                }[] | undefined;
            } | undefined;
            recipient_id?: string | undefined;
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        cc_recipients?: {
            name: string;
            email: string;
            routing_order: string;
            recipient_id?: string | undefined;
        }[] | undefined;
        email_body?: string | undefined;
        reminder_enabled?: boolean | undefined;
        reminder_delay?: string | undefined;
        reminder_frequency?: string | undefined;
        expire_enabled?: boolean | undefined;
        expire_after?: string | undefined;
        expire_warn?: string | undefined;
    }, {
        operation: "create_envelope";
        email_subject: string;
        documents: {
            name: string;
            document_base64: string;
            document_id?: string | undefined;
            file_extension?: string | undefined;
        }[];
        signers: {
            name: string;
            email: string;
            tabs?: {
                text?: {
                    x_position: string;
                    y_position: string;
                    tab_label: string;
                    value?: string | undefined;
                    required?: string | undefined;
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                }[] | undefined;
                sign_here?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
                date_signed?: {
                    document_id?: string | undefined;
                    page_number?: string | undefined;
                    x_position?: string | undefined;
                    y_position?: string | undefined;
                }[] | undefined;
            } | undefined;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
        }[];
        status?: "created" | "sent" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        cc_recipients?: {
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
        }[] | undefined;
        email_body?: string | undefined;
        reminder_enabled?: boolean | undefined;
        reminder_delay?: string | undefined;
        reminder_frequency?: string | undefined;
        expire_enabled?: boolean | undefined;
        expire_after?: string | undefined;
        expire_warn?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_envelope_from_template">;
        template_id: import("zod").ZodString;
        email_subject: import("zod").ZodOptional<import("zod").ZodString>;
        email_body: import("zod").ZodOptional<import("zod").ZodString>;
        signers: import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            role_name: import("zod").ZodString;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }, {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }>, "many">;
        cc_recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            role_name: import("zod").ZodString;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }, {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }>, "many">>;
        status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["sent", "created"]>>>;
        template_data: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        reminder_enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
        reminder_delay: import("zod").ZodOptional<import("zod").ZodString>;
        reminder_frequency: import("zod").ZodOptional<import("zod").ZodString>;
        expire_enabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
        expire_after: import("zod").ZodOptional<import("zod").ZodString>;
        expire_warn: import("zod").ZodOptional<import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        status: "created" | "sent";
        operation: "create_envelope_from_template";
        signers: {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }[];
        template_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email_subject?: string | undefined;
        cc_recipients?: {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }[] | undefined;
        email_body?: string | undefined;
        reminder_enabled?: boolean | undefined;
        reminder_delay?: string | undefined;
        reminder_frequency?: string | undefined;
        expire_enabled?: boolean | undefined;
        expire_after?: string | undefined;
        expire_warn?: string | undefined;
        template_data?: Record<string, string> | undefined;
    }, {
        operation: "create_envelope_from_template";
        signers: {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }[];
        template_id: string;
        status?: "created" | "sent" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email_subject?: string | undefined;
        cc_recipients?: {
            name: string;
            email: string;
            role_name: string;
            recipient_id?: string | undefined;
        }[] | undefined;
        email_body?: string | undefined;
        reminder_enabled?: boolean | undefined;
        reminder_delay?: string | undefined;
        reminder_frequency?: string | undefined;
        expire_enabled?: boolean | undefined;
        expire_after?: string | undefined;
        expire_warn?: string | undefined;
        template_data?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_envelope">;
        envelope_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_envelope";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_envelope";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_envelopes">;
        from_date: import("zod").ZodOptional<import("zod").ZodString>;
        to_date: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodString>;
        search_text: import("zod").ZodOptional<import("zod").ZodString>;
        count: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        start_position: import("zod").ZodOptional<import("zod").ZodString>;
        order_by: import("zod").ZodOptional<import("zod").ZodString>;
        order: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["asc", "desc"]>>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_envelopes";
        count: string;
        order: "asc" | "desc";
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        order_by?: string | undefined;
        from_date?: string | undefined;
        to_date?: string | undefined;
        search_text?: string | undefined;
        start_position?: string | undefined;
    }, {
        operation: "list_envelopes";
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        count?: string | undefined;
        order_by?: string | undefined;
        from_date?: string | undefined;
        to_date?: string | undefined;
        search_text?: string | undefined;
        start_position?: string | undefined;
        order?: "asc" | "desc" | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_recipients">;
        envelope_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_recipients";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_recipients";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_templates">;
        search_text: import("zod").ZodOptional<import("zod").ZodString>;
        count: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_templates";
        count: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        search_text?: string | undefined;
    }, {
        operation: "list_templates";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        count?: string | undefined;
        search_text?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_template">;
        template_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_template";
        template_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_template";
        template_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"download_document">;
        envelope_id: import("zod").ZodString;
        document_id: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "download_document";
        document_id: string;
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "download_document";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        document_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"void_envelope">;
        envelope_id: import("zod").ZodString;
        void_reason: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "void_envelope";
        envelope_id: string;
        void_reason: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "void_envelope";
        envelope_id: string;
        void_reason: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"resend_envelope">;
        envelope_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "resend_envelope";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "resend_envelope";
        envelope_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"bulk_send_from_template">;
        template_id: import("zod").ZodString;
        recipients: import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            role_name: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            email: string;
            role_name: string;
        }, {
            name: string;
            email: string;
            role_name: string;
        }>, "many">;
        email_subject: import("zod").ZodOptional<import("zod").ZodString>;
        email_body: import("zod").ZodOptional<import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "bulk_send_from_template";
        template_id: string;
        recipients: {
            name: string;
            email: string;
            role_name: string;
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email_subject?: string | undefined;
        email_body?: string | undefined;
    }, {
        operation: "bulk_send_from_template";
        template_id: string;
        recipients: {
            name: string;
            email: string;
            role_name: string;
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email_subject?: string | undefined;
        email_body?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_signing_url">;
        envelope_id: import("zod").ZodString;
        signer_email: import("zod").ZodString;
        signer_name: import("zod").ZodString;
        return_url: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_signing_url";
        envelope_id: string;
        signer_email: string;
        signer_name: string;
        return_url: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_signing_url";
        envelope_id: string;
        signer_email: string;
        signer_name: string;
        return_url: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"correct_recipient">;
        envelope_id: import("zod").ZodString;
        old_email: import("zod").ZodString;
        new_email: import("zod").ZodString;
        new_name: import("zod").ZodOptional<import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "correct_recipient";
        envelope_id: string;
        old_email: string;
        new_email: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        new_name?: string | undefined;
    }, {
        operation: "correct_recipient";
        envelope_id: string;
        old_email: string;
        new_email: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        new_name?: string | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_envelope">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodString>;
        status_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        uri: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_envelope";
        status?: string | undefined;
        envelope_id?: string | undefined;
        status_date_time?: string | undefined;
        uri?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_envelope";
        status?: string | undefined;
        envelope_id?: string | undefined;
        status_date_time?: string | undefined;
        uri?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_envelope_from_template">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodString>;
        status_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        uri: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_envelope_from_template";
        status?: string | undefined;
        envelope_id?: string | undefined;
        status_date_time?: string | undefined;
        uri?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_envelope_from_template";
        status?: string | undefined;
        envelope_id?: string | undefined;
        status_date_time?: string | undefined;
        uri?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_envelope">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodString>;
        email_subject: import("zod").ZodOptional<import("zod").ZodString>;
        sent_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        completed_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        declined_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        voided_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        status_changed_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_envelope";
        status?: string | undefined;
        email_subject?: string | undefined;
        envelope_id?: string | undefined;
        sent_date_time?: string | undefined;
        completed_date_time?: string | undefined;
        declined_date_time?: string | undefined;
        voided_date_time?: string | undefined;
        status_changed_date_time?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_envelope";
        status?: string | undefined;
        email_subject?: string | undefined;
        envelope_id?: string | undefined;
        sent_date_time?: string | undefined;
        completed_date_time?: string | undefined;
        declined_date_time?: string | undefined;
        voided_date_time?: string | undefined;
        status_changed_date_time?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_envelopes">;
        success: import("zod").ZodBoolean;
        envelopes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            envelope_id: import("zod").ZodString;
            status: import("zod").ZodString;
            email_subject: import("zod").ZodOptional<import("zod").ZodString>;
            sent_date_time: import("zod").ZodOptional<import("zod").ZodString>;
            completed_date_time: import("zod").ZodOptional<import("zod").ZodString>;
            status_changed_date_time: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            status: string;
            envelope_id: string;
            email_subject?: string | undefined;
            sent_date_time?: string | undefined;
            completed_date_time?: string | undefined;
            status_changed_date_time?: string | undefined;
        }, {
            status: string;
            envelope_id: string;
            email_subject?: string | undefined;
            sent_date_time?: string | undefined;
            completed_date_time?: string | undefined;
            status_changed_date_time?: string | undefined;
        }>, "many">>;
        result_set_size: import("zod").ZodOptional<import("zod").ZodString>;
        total_set_size: import("zod").ZodOptional<import("zod").ZodString>;
        next_uri: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_envelopes";
        envelopes?: {
            status: string;
            envelope_id: string;
            email_subject?: string | undefined;
            sent_date_time?: string | undefined;
            completed_date_time?: string | undefined;
            status_changed_date_time?: string | undefined;
        }[] | undefined;
        result_set_size?: string | undefined;
        total_set_size?: string | undefined;
        next_uri?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_envelopes";
        envelopes?: {
            status: string;
            envelope_id: string;
            email_subject?: string | undefined;
            sent_date_time?: string | undefined;
            completed_date_time?: string | undefined;
            status_changed_date_time?: string | undefined;
        }[] | undefined;
        result_set_size?: string | undefined;
        total_set_size?: string | undefined;
        next_uri?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_recipients">;
        success: import("zod").ZodBoolean;
        signers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            status: import("zod").ZodString;
            signed_date_time: import("zod").ZodOptional<import("zod").ZodString>;
            delivered_date_time: import("zod").ZodOptional<import("zod").ZodString>;
            declined_date_time: import("zod").ZodOptional<import("zod").ZodString>;
            decline_reason: import("zod").ZodOptional<import("zod").ZodString>;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
            routing_order: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
            declined_date_time?: string | undefined;
            signed_date_time?: string | undefined;
            delivered_date_time?: string | undefined;
            decline_reason?: string | undefined;
        }, {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
            declined_date_time?: string | undefined;
            signed_date_time?: string | undefined;
            delivered_date_time?: string | undefined;
            decline_reason?: string | undefined;
        }>, "many">>;
        cc_recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            email: import("zod").ZodString;
            name: import("zod").ZodString;
            status: import("zod").ZodString;
            recipient_id: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
        }, {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_recipients";
        signers?: {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
            declined_date_time?: string | undefined;
            signed_date_time?: string | undefined;
            delivered_date_time?: string | undefined;
            decline_reason?: string | undefined;
        }[] | undefined;
        cc_recipients?: {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_recipients";
        signers?: {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
            routing_order?: string | undefined;
            declined_date_time?: string | undefined;
            signed_date_time?: string | undefined;
            delivered_date_time?: string | undefined;
            decline_reason?: string | undefined;
        }[] | undefined;
        cc_recipients?: {
            status: string;
            name: string;
            email: string;
            recipient_id?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_templates">;
        success: import("zod").ZodBoolean;
        templates: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            template_id: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            created: import("zod").ZodOptional<import("zod").ZodString>;
            last_modified: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            template_id: string;
            description?: string | undefined;
            created?: string | undefined;
            last_modified?: string | undefined;
        }, {
            name: string;
            template_id: string;
            description?: string | undefined;
            created?: string | undefined;
            last_modified?: string | undefined;
        }>, "many">>;
        result_set_size: import("zod").ZodOptional<import("zod").ZodString>;
        total_set_size: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_templates";
        result_set_size?: string | undefined;
        total_set_size?: string | undefined;
        templates?: {
            name: string;
            template_id: string;
            description?: string | undefined;
            created?: string | undefined;
            last_modified?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_templates";
        result_set_size?: string | undefined;
        total_set_size?: string | undefined;
        templates?: {
            name: string;
            template_id: string;
            description?: string | undefined;
            created?: string | undefined;
            last_modified?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_template">;
        success: import("zod").ZodBoolean;
        template_id: import("zod").ZodOptional<import("zod").ZodString>;
        name: import("zod").ZodOptional<import("zod").ZodString>;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            role_name: import("zod").ZodString;
            role_id: import("zod").ZodOptional<import("zod").ZodString>;
            signing_order: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            role_name: string;
            role_id?: string | undefined;
            signing_order?: string | undefined;
        }, {
            role_name: string;
            role_id?: string | undefined;
            signing_order?: string | undefined;
        }>, "many">>;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            tab_label: import("zod").ZodString;
            tab_type: import("zod").ZodString;
            role_name: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            tab_label: string;
            tab_type: string;
            role_name?: string | undefined;
        }, {
            tab_label: string;
            tab_type: string;
            role_name?: string | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_template";
        description?: string | undefined;
        name?: string | undefined;
        fields?: {
            tab_label: string;
            tab_type: string;
            role_name?: string | undefined;
        }[] | undefined;
        template_id?: string | undefined;
        roles?: {
            role_name: string;
            role_id?: string | undefined;
            signing_order?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_template";
        description?: string | undefined;
        name?: string | undefined;
        fields?: {
            tab_label: string;
            tab_type: string;
            role_name?: string | undefined;
        }[] | undefined;
        template_id?: string | undefined;
        roles?: {
            role_name: string;
            role_id?: string | undefined;
            signing_order?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"download_document">;
        success: import("zod").ZodBoolean;
        document_base64: import("zod").ZodOptional<import("zod").ZodString>;
        document_name: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "download_document";
        document_base64?: string | undefined;
        document_name?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "download_document";
        document_base64?: string | undefined;
        document_name?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"void_envelope">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "void_envelope";
        envelope_id?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "void_envelope";
        envelope_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"resend_envelope">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "resend_envelope";
        envelope_id?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "resend_envelope";
        envelope_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"bulk_send_from_template">;
        success: import("zod").ZodBoolean;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
            status: import("zod").ZodOptional<import("zod").ZodString>;
            recipient_email: import("zod").ZodString;
            error: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            recipient_email: string;
            status?: string | undefined;
            error?: string | undefined;
            envelope_id?: string | undefined;
        }, {
            recipient_email: string;
            status?: string | undefined;
            error?: string | undefined;
            envelope_id?: string | undefined;
        }>, "many">>;
        total_sent: import("zod").ZodOptional<import("zod").ZodNumber>;
        total_failed: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "bulk_send_from_template";
        results?: {
            recipient_email: string;
            status?: string | undefined;
            error?: string | undefined;
            envelope_id?: string | undefined;
        }[] | undefined;
        total_sent?: number | undefined;
        total_failed?: number | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "bulk_send_from_template";
        results?: {
            recipient_email: string;
            status?: string | undefined;
            error?: string | undefined;
            envelope_id?: string | undefined;
        }[] | undefined;
        total_sent?: number | undefined;
        total_failed?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_signing_url">;
        success: import("zod").ZodBoolean;
        signing_url: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_signing_url";
        signing_url?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_signing_url";
        signing_url?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"correct_recipient">;
        success: import("zod").ZodBoolean;
        envelope_id: import("zod").ZodOptional<import("zod").ZodString>;
        old_email: import("zod").ZodOptional<import("zod").ZodString>;
        new_email: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "correct_recipient";
        envelope_id?: string | undefined;
        old_email?: string | undefined;
        new_email?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "correct_recipient";
        envelope_id?: string | undefined;
        old_email?: string | undefined;
        new_email?: string | undefined;
    }>]>;
    static readonly shortDescription = "DocuSign eSignature integration for document signing workflows";
    static readonly longDescription = "\n    DocuSign eSignature integration for managing document signing workflows.\n\n    Features:\n    - Create and send envelopes with documents and signers\n    - Create envelopes from pre-built templates with role mapping\n    - Track envelope and recipient signing status\n    - Configure automatic reminders and envelope expiration\n    - Download signed/completed documents\n    - Void in-progress envelopes and resend notifications\n    - List and search envelopes and templates\n\n    Use cases:\n    - Automate agreement lifecycle (generate, send, track, remind, escalate)\n    - Savings account agreement workflows\n    - Contract management and compliance tracking\n    - Bulk envelope status monitoring for CS agents\n\n    Security Features:\n    - OAuth 2.0 authentication with DocuSign\n    - Scoped access permissions\n    - Secure document handling\n  ";
    static readonly alias = "docusign";
    /**
     * DocuSign credential format:
     * Base64-encoded JSON: { accessToken, accountId, baseUri }
     * The accountId identifies which DocuSign account to access.
     * The baseUri is the region-specific API base URL.
     */
    private parseCredentials;
    constructor(params?: T, context?: BubbleContext);
    testCredential(): Promise<boolean>;
    private makeDocuSignRequest;
    protected performAction(context?: BubbleContext): Promise<Extract<DocuSignResult, {
        operation: T['operation'];
    }>>;
    private buildNotificationObject;
    /**
     * Check if base64 content is a valid PDF (starts with %PDF).
     * If not, wrap the decoded text in a minimal valid PDF.
     */
    private ensurePdfContent;
    /**
     * Convert plain text to a minimal valid PDF with proper formatting.
     * Uses Helvetica 10pt, 72pt margins, 14pt line spacing, with word wrapping.
     */
    private textToMinimalPdf;
    private createEnvelope;
    private createEnvelopeFromTemplate;
    private getEnvelope;
    private listEnvelopes;
    private getRecipients;
    private listTemplates;
    private getTemplate;
    private downloadDocument;
    private voidEnvelope;
    private resendEnvelope;
    private bulkSendFromTemplate;
    private getSigningUrl;
    private correctRecipient;
    protected chooseCredential(): string | undefined;
}
//# sourceMappingURL=docusign.d.ts.map