import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type StripeParamsInput, type StripeResult } from './stripe.schema.js';
/**
 * Stripe Service Bubble
 *
 * Comprehensive Stripe integration for payment and billing management.
 * Based on the Stripe MCP (Model Context Protocol) implementation.
 *
 * Features:
 * - Customer management (create, list)
 * - Product and price management
 * - Payment links creation
 * - Invoice management
 * - Subscription management
 * - Payment intents listing
 * - Refund creation
 * - Balance retrieval
 *
 * Use cases:
 * - Accept payments through payment links
 * - Manage customer billing and subscriptions
 * - Create and manage products and pricing
 * - Process refunds
 * - Monitor account balance
 *
 * Security Features:
 * - OAuth 2.0 authentication with Stripe
 * - Secure API key handling
 * - Input validation with Zod schemas
 */
export declare class StripeBubble<T extends StripeParamsInput = StripeParamsInput> extends ServiceBubble<T, Extract<StripeResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "stripe";
    static readonly authType: "apikey";
    static readonly bubbleName = "stripe";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_customer">;
        name: import("zod").ZodString;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        name: string;
        operation: "create_customer";
        email?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
    }, {
        name: string;
        operation: "create_customer";
        email?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_customers">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        cursor: 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_customers";
        limit: number;
        email?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        cursor?: string | undefined;
    }, {
        operation: "list_customers";
        email?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        cursor?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"retrieve_customer">;
        customer_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "retrieve_customer";
        customer_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "retrieve_customer";
        customer_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_product">;
        name: import("zod").ZodString;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        name: string;
        operation: "create_product";
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
    }, {
        name: string;
        operation: "create_product";
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_products">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        active: import("zod").ZodOptional<import("zod").ZodBoolean>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_products";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        active?: boolean | undefined;
    }, {
        operation: "list_products";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        active?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_price">;
        product: import("zod").ZodString;
        unit_amount: import("zod").ZodNumber;
        currency: import("zod").ZodDefault<import("zod").ZodString>;
        recurring: import("zod").ZodOptional<import("zod").ZodObject<{
            interval: import("zod").ZodEnum<["day", "week", "month", "year"]>;
            interval_count: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        }, "strip", import("zod").ZodTypeAny, {
            interval: "year" | "month" | "day" | "week";
            interval_count: number;
        }, {
            interval: "year" | "month" | "day" | "week";
            interval_count?: number | undefined;
        }>>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_price";
        currency: string;
        product: string;
        unit_amount: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        recurring?: {
            interval: "year" | "month" | "day" | "week";
            interval_count: number;
        } | undefined;
    }, {
        operation: "create_price";
        product: string;
        unit_amount: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        currency?: string | undefined;
        recurring?: {
            interval: "year" | "month" | "day" | "week";
            interval_count?: number | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_prices">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        product: import("zod").ZodOptional<import("zod").ZodString>;
        active: import("zod").ZodOptional<import("zod").ZodBoolean>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_prices";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        active?: boolean | undefined;
        product?: string | undefined;
    }, {
        operation: "list_prices";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        active?: boolean | undefined;
        product?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_payment_link">;
        price: import("zod").ZodString;
        quantity: import("zod").ZodDefault<import("zod").ZodNumber>;
        redirect_url: import("zod").ZodOptional<import("zod").ZodString>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_payment_link";
        price: string;
        quantity: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        redirect_url?: string | undefined;
    }, {
        operation: "create_payment_link";
        price: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        quantity?: number | undefined;
        redirect_url?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice">;
        customer: import("zod").ZodString;
        auto_advance: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        collection_method: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["charge_automatically", "send_invoice"]>>>;
        days_until_due: import("zod").ZodOptional<import("zod").ZodNumber>;
        items: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            unit_amount: import("zod").ZodNumber;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            quantity: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        }, "strip", import("zod").ZodTypeAny, {
            unit_amount: number;
            quantity: number;
            description?: string | undefined;
        }, {
            unit_amount: number;
            description?: string | undefined;
            quantity?: number | undefined;
        }>, "many">>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_invoice";
        customer: string;
        auto_advance: boolean;
        collection_method: "charge_automatically" | "send_invoice";
        items?: {
            unit_amount: number;
            quantity: number;
            description?: string | undefined;
        }[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        days_until_due?: number | undefined;
    }, {
        operation: "create_invoice";
        customer: string;
        items?: {
            unit_amount: number;
            description?: string | undefined;
            quantity?: number | undefined;
        }[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        auto_advance?: boolean | undefined;
        collection_method?: "charge_automatically" | "send_invoice" | undefined;
        days_until_due?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_invoices">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        customer: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
        cursor: 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_invoices";
        limit: number;
        status?: "void" | "draft" | "paid" | "open" | "uncollectible" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        cursor?: string | undefined;
        customer?: string | undefined;
    }, {
        operation: "list_invoices";
        status?: "void" | "draft" | "paid" | "open" | "uncollectible" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        cursor?: string | undefined;
        customer?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"retrieve_invoice">;
        invoice_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "retrieve_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "retrieve_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"finalize_invoice">;
        invoice_id: import("zod").ZodString;
        auto_advance: import("zod").ZodOptional<import("zod").ZodBoolean>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "finalize_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        auto_advance?: boolean | undefined;
    }, {
        operation: "finalize_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        auto_advance?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice_item">;
        customer: import("zod").ZodString;
        invoice: import("zod").ZodOptional<import("zod").ZodString>;
        unit_amount: import("zod").ZodNumber;
        currency: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        quantity: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_invoice_item";
        currency: string;
        unit_amount: number;
        customer: string;
        quantity: number;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        invoice?: string | undefined;
    }, {
        operation: "create_invoice_item";
        unit_amount: number;
        customer: string;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        currency?: string | undefined;
        invoice?: string | undefined;
        quantity?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"send_invoice">;
        invoice_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "send_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "send_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_balance">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_balance";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_balance";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_payment_intents">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        customer: 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_payment_intents";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        customer?: string | undefined;
    }, {
        operation: "list_payment_intents";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        customer?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_subscriptions">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        customer: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["incomplete", "incomplete_expired", "trialing", "active", "past_due", "canceled", "unpaid", "paused", "all"]>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_subscriptions";
        limit: number;
        status?: "canceled" | "all" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        customer?: string | undefined;
    }, {
        operation: "list_subscriptions";
        status?: "canceled" | "all" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        customer?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"cancel_subscription">;
        subscription_id: import("zod").ZodString;
        cancel_at_period_end: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "cancel_subscription";
        cancel_at_period_end: boolean;
        subscription_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "cancel_subscription";
        subscription_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        cancel_at_period_end?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_payment_links">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        active: import("zod").ZodOptional<import("zod").ZodBoolean>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_payment_links";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        active?: boolean | undefined;
    }, {
        operation: "list_payment_links";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        active?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_subscription">;
        customer: import("zod").ZodString;
        price: import("zod").ZodString;
        trial_period_days: import("zod").ZodOptional<import("zod").ZodNumber>;
        payment_behavior: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["default_incomplete", "error_if_incomplete", "allow_incomplete"]>>>;
        metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_subscription";
        price: string;
        customer: string;
        payment_behavior: "default_incomplete" | "error_if_incomplete" | "allow_incomplete";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        trial_period_days?: number | undefined;
    }, {
        operation: "create_subscription";
        price: string;
        customer: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        metadata?: Record<string, string> | undefined;
        trial_period_days?: number | undefined;
        payment_behavior?: "default_incomplete" | "error_if_incomplete" | "allow_incomplete" | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_customer">;
        success: import("zod").ZodBoolean;
        customer: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_customer";
        customer?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_customer";
        customer?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_customers">;
        success: import("zod").ZodBoolean;
        customers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }>, "many">>;
        has_more: import("zod").ZodOptional<import("zod").ZodBoolean>;
        next_cursor: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_customers";
        next_cursor?: string | null | undefined;
        has_more?: boolean | undefined;
        customers?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_customers";
        next_cursor?: string | null | undefined;
        has_more?: boolean | undefined;
        customers?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"retrieve_customer">;
        success: import("zod").ZodBoolean;
        customer: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            name: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }, {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }>>;
        deleted: import("zod").ZodOptional<import("zod").ZodBoolean>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "retrieve_customer";
        deleted?: boolean | undefined;
        customer?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "retrieve_customer";
        deleted?: boolean | undefined;
        customer?: {
            id: string;
            created: number;
            name?: string | null | undefined;
            email?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_product">;
        success: import("zod").ZodBoolean;
        product: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }, {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_product";
        product?: {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_product";
        product?: {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_products">;
        success: import("zod").ZodBoolean;
        products: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            name: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }, {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_products";
        products?: {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_products";
        products?: {
            name: string;
            id: string;
            created: number;
            active: boolean;
            description?: string | null | undefined;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_price">;
        success: import("zod").ZodBoolean;
        price: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            product: import("zod").ZodString;
            unit_amount: import("zod").ZodNullable<import("zod").ZodNumber>;
            currency: import("zod").ZodString;
            type: import("zod").ZodEnum<["one_time", "recurring"]>;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }, {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_price";
        price?: {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_price";
        price?: {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_prices">;
        success: import("zod").ZodBoolean;
        prices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            product: import("zod").ZodString;
            unit_amount: import("zod").ZodNullable<import("zod").ZodNumber>;
            currency: import("zod").ZodString;
            type: import("zod").ZodEnum<["one_time", "recurring"]>;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }, {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_prices";
        prices?: {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_prices";
        prices?: {
            type: "one_time" | "recurring";
            id: string;
            created: number;
            currency: string;
            active: boolean;
            product: string;
            unit_amount: number | null;
            metadata?: Record<string, string> | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_payment_link">;
        success: import("zod").ZodBoolean;
        payment_link: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            url: import("zod").ZodString;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }, {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_payment_link";
        payment_link?: {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_payment_link";
        payment_link?: {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodNullable<import("zod").ZodString>;
            status: import("zod").ZodNullable<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
            total: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            due_date: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            hosted_invoice_url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            invoice_pdf: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_invoices">;
        success: import("zod").ZodBoolean;
        invoices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodNullable<import("zod").ZodString>;
            status: import("zod").ZodNullable<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
            total: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            due_date: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            hosted_invoice_url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            invoice_pdf: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }>, "many">>;
        has_more: import("zod").ZodOptional<import("zod").ZodBoolean>;
        next_cursor: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_invoices";
        next_cursor?: string | null | undefined;
        has_more?: boolean | undefined;
        invoices?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_invoices";
        next_cursor?: string | null | undefined;
        has_more?: boolean | undefined;
        invoices?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"retrieve_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodNullable<import("zod").ZodString>;
            status: import("zod").ZodNullable<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
            total: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            due_date: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            hosted_invoice_url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            invoice_pdf: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "retrieve_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "retrieve_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"finalize_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodNullable<import("zod").ZodString>;
            status: import("zod").ZodNullable<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
            total: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            due_date: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            hosted_invoice_url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            invoice_pdf: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "finalize_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "finalize_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice_item">;
        success: import("zod").ZodBoolean;
        invoice_item: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            invoice: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            customer: import("zod").ZodString;
            amount: import("zod").ZodNumber;
            unit_amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            currency: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            quantity: import("zod").ZodOptional<import("zod").ZodNumber>;
            date: import("zod").ZodOptional<import("zod").ZodNumber>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            id: string;
            currency: string;
            amount: number;
            customer: string;
            description?: string | null | undefined;
            date?: number | undefined;
            metadata?: Record<string, string> | undefined;
            invoice?: string | null | undefined;
            unit_amount?: number | null | undefined;
            quantity?: number | undefined;
        }, {
            id: string;
            currency: string;
            amount: number;
            customer: string;
            description?: string | null | undefined;
            date?: number | undefined;
            metadata?: Record<string, string> | undefined;
            invoice?: string | null | undefined;
            unit_amount?: number | null | undefined;
            quantity?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_invoice_item";
        invoice_item?: {
            id: string;
            currency: string;
            amount: number;
            customer: string;
            description?: string | null | undefined;
            date?: number | undefined;
            metadata?: Record<string, string> | undefined;
            invoice?: string | null | undefined;
            unit_amount?: number | null | undefined;
            quantity?: number | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_invoice_item";
        invoice_item?: {
            id: string;
            currency: string;
            amount: number;
            customer: string;
            description?: string | null | undefined;
            date?: number | undefined;
            metadata?: Record<string, string> | undefined;
            invoice?: string | null | undefined;
            unit_amount?: number | null | undefined;
            quantity?: number | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"send_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodNullable<import("zod").ZodString>;
            status: import("zod").ZodNullable<import("zod").ZodEnum<["draft", "open", "paid", "uncollectible", "void"]>>;
            total: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            due_date: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            hosted_invoice_url: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            invoice_pdf: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }, {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "send_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "send_invoice";
        invoice?: {
            status: "void" | "draft" | "paid" | "open" | "uncollectible" | null;
            id: string;
            total: number;
            currency: string;
            customer: string | null;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
            due_date?: string | null | undefined;
            hosted_invoice_url?: string | null | undefined;
            invoice_pdf?: string | null | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_balance">;
        success: import("zod").ZodBoolean;
        balance: import("zod").ZodOptional<import("zod").ZodObject<{
            available: import("zod").ZodArray<import("zod").ZodObject<{
                amount: import("zod").ZodNumber;
                currency: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                currency: string;
                amount: number;
            }, {
                currency: string;
                amount: number;
            }>, "many">;
            pending: import("zod").ZodArray<import("zod").ZodObject<{
                amount: import("zod").ZodNumber;
                currency: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                currency: string;
                amount: number;
            }, {
                currency: string;
                amount: number;
            }>, "many">;
        }, "strip", import("zod").ZodTypeAny, {
            pending: {
                currency: string;
                amount: number;
            }[];
            available: {
                currency: string;
                amount: number;
            }[];
        }, {
            pending: {
                currency: string;
                amount: number;
            }[];
            available: {
                currency: string;
                amount: number;
            }[];
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_balance";
        balance?: {
            pending: {
                currency: string;
                amount: number;
            }[];
            available: {
                currency: string;
                amount: number;
            }[];
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_balance";
        balance?: {
            pending: {
                currency: string;
                amount: number;
            }[];
            available: {
                currency: string;
                amount: number;
            }[];
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_payment_intents">;
        success: import("zod").ZodBoolean;
        payment_intents: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            amount: import("zod").ZodNumber;
            currency: import("zod").ZodString;
            status: import("zod").ZodEnum<["requires_payment_method", "requires_confirmation", "requires_action", "processing", "requires_capture", "canceled", "succeeded"]>;
            customer: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "canceled" | "requires_payment_method" | "requires_confirmation" | "requires_action" | "processing" | "requires_capture" | "succeeded";
            id: string;
            created: number;
            currency: string;
            amount: number;
            metadata?: Record<string, string> | undefined;
            customer?: string | null | undefined;
        }, {
            status: "canceled" | "requires_payment_method" | "requires_confirmation" | "requires_action" | "processing" | "requires_capture" | "succeeded";
            id: string;
            created: number;
            currency: string;
            amount: number;
            metadata?: Record<string, string> | undefined;
            customer?: string | null | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_payment_intents";
        payment_intents?: {
            status: "canceled" | "requires_payment_method" | "requires_confirmation" | "requires_action" | "processing" | "requires_capture" | "succeeded";
            id: string;
            created: number;
            currency: string;
            amount: number;
            metadata?: Record<string, string> | undefined;
            customer?: string | null | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_payment_intents";
        payment_intents?: {
            status: "canceled" | "requires_payment_method" | "requires_confirmation" | "requires_action" | "processing" | "requires_capture" | "succeeded";
            id: string;
            created: number;
            currency: string;
            amount: number;
            metadata?: Record<string, string> | undefined;
            customer?: string | null | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_subscriptions">;
        success: import("zod").ZodBoolean;
        subscriptions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodString;
            status: import("zod").ZodEnum<["incomplete", "incomplete_expired", "trialing", "active", "past_due", "canceled", "unpaid", "paused"]>;
            current_period_start: import("zod").ZodOptional<import("zod").ZodNumber>;
            current_period_end: import("zod").ZodOptional<import("zod").ZodNumber>;
            cancel_at_period_end: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_subscriptions";
        subscriptions?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_subscriptions";
        subscriptions?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"cancel_subscription">;
        success: import("zod").ZodBoolean;
        subscription: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodString;
            status: import("zod").ZodEnum<["incomplete", "incomplete_expired", "trialing", "active", "past_due", "canceled", "unpaid", "paused"]>;
            current_period_start: import("zod").ZodOptional<import("zod").ZodNumber>;
            current_period_end: import("zod").ZodOptional<import("zod").ZodNumber>;
            cancel_at_period_end: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "cancel_subscription";
        subscription?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "cancel_subscription";
        subscription?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_payment_links">;
        success: import("zod").ZodBoolean;
        payment_links: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            url: import("zod").ZodString;
            active: import("zod").ZodBoolean;
            created: import("zod").ZodOptional<import("zod").ZodNumber>;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }, {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_payment_links";
        payment_links?: {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_payment_links";
        payment_links?: {
            url: string;
            id: string;
            active: boolean;
            metadata?: Record<string, string> | undefined;
            created?: number | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_subscription">;
        success: import("zod").ZodBoolean;
        subscription: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            customer: import("zod").ZodString;
            status: import("zod").ZodEnum<["incomplete", "incomplete_expired", "trialing", "active", "past_due", "canceled", "unpaid", "paused"]>;
            current_period_start: import("zod").ZodOptional<import("zod").ZodNumber>;
            current_period_end: import("zod").ZodOptional<import("zod").ZodNumber>;
            cancel_at_period_end: import("zod").ZodBoolean;
            created: import("zod").ZodNumber;
            metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }, {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_subscription";
        subscription?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_subscription";
        subscription?: {
            status: "canceled" | "paused" | "active" | "incomplete" | "incomplete_expired" | "trialing" | "past_due" | "unpaid";
            id: string;
            created: number;
            customer: string;
            cancel_at_period_end: boolean;
            metadata?: Record<string, string> | undefined;
            current_period_start?: number | undefined;
            current_period_end?: number | undefined;
        } | undefined;
    }>]>;
    static readonly shortDescription = "Stripe integration for payments, billing, and subscriptions";
    static readonly longDescription = "\n    Stripe service integration for comprehensive payment and billing management.\n    Based on the official Stripe MCP implementation.\n\n    Features:\n    - Customer management (create, list)\n    - Product and price management\n    - Payment links creation\n    - Invoice management\n    - Subscription management\n    - Payment intents listing\n    - Refund creation\n    - Balance retrieval\n\n    Use cases:\n    - Accept payments through payment links\n    - Manage customer billing and subscriptions\n    - Create and manage products and pricing\n    - Process refunds\n    - Monitor account balance\n\n    Security Features:\n    - OAuth 2.0 authentication with Stripe\n    - Secure API key handling\n    - Input validation with Zod schemas\n  ";
    static readonly alias = "payments";
    constructor(params?: T, context?: BubbleContext);
    testCredential(): Promise<boolean>;
    private makeStripeRequest;
    private encodeFormData;
    protected performAction(context?: BubbleContext): Promise<Extract<StripeResult, {
        operation: T['operation'];
    }>>;
    private createCustomer;
    private listCustomers;
    private retrieveCustomer;
    private createProduct;
    private listProducts;
    private createPrice;
    private listPrices;
    private createPaymentLink;
    private createInvoice;
    private listInvoices;
    private retrieveInvoice;
    private finalizeInvoice;
    private createInvoiceItem;
    private sendInvoice;
    private getBalance;
    private listPaymentIntents;
    private listSubscriptions;
    private cancelSubscription;
    private listPaymentLinks;
    private createSubscription;
    protected chooseCredential(): string | undefined;
}
//# sourceMappingURL=stripe.d.ts.map