import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type XeroParamsInput, type XeroResult } from './xero.schema.js';
/**
 * Xero Accounting Service Bubble
 *
 * Xero accounting integration for managing invoices, contacts, and accounts.
 *
 * Features:
 * - Create, retrieve, and list invoices (sales and purchase)
 * - Create, retrieve, and list contacts (customers and suppliers)
 * - List chart of accounts
 *
 * Use cases:
 * - Invoice creation and management
 * - Customer and supplier contact management
 * - Financial reporting and account tracking
 *
 * Security Features:
 * - OAuth 2.0 authentication with Xero
 * - Scoped access permissions
 * - Secure credential handling with tenant isolation
 */
export declare class XeroBubble<T extends XeroParamsInput = XeroParamsInput> extends ServiceBubble<T, Extract<XeroResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "xero";
    static readonly authType: "oauth";
    static readonly bubbleName = "xero";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice">;
        type: import("zod").ZodEnum<["ACCREC", "ACCPAY"]>;
        contact_id: import("zod").ZodString;
        line_items: import("zod").ZodArray<import("zod").ZodObject<{
            Description: import("zod").ZodString;
            Quantity: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
            UnitAmount: import("zod").ZodNumber;
            AccountCode: import("zod").ZodOptional<import("zod").ZodString>;
            TaxType: import("zod").ZodOptional<import("zod").ZodString>;
            ItemCode: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            Description: string;
            Quantity: number;
            UnitAmount: number;
            AccountCode?: string | undefined;
            TaxType?: string | undefined;
            ItemCode?: string | undefined;
        }, {
            Description: string;
            UnitAmount: number;
            Quantity?: number | undefined;
            AccountCode?: string | undefined;
            TaxType?: string | undefined;
            ItemCode?: string | undefined;
        }>, "many">;
        date: import("zod").ZodOptional<import("zod").ZodString>;
        due_date: import("zod").ZodOptional<import("zod").ZodString>;
        reference: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["DRAFT", "SUBMITTED", "AUTHORISED"]>>>;
        currency_code: 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, {
        type: "ACCREC" | "ACCPAY";
        status: "DRAFT" | "SUBMITTED" | "AUTHORISED";
        operation: "create_invoice";
        contact_id: string;
        line_items: {
            Description: string;
            Quantity: number;
            UnitAmount: number;
            AccountCode?: string | undefined;
            TaxType?: string | undefined;
            ItemCode?: string | undefined;
        }[];
        date?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        due_date?: string | undefined;
        reference?: string | undefined;
        currency_code?: string | undefined;
    }, {
        type: "ACCREC" | "ACCPAY";
        operation: "create_invoice";
        contact_id: string;
        line_items: {
            Description: string;
            UnitAmount: number;
            Quantity?: number | undefined;
            AccountCode?: string | undefined;
            TaxType?: string | undefined;
            ItemCode?: string | undefined;
        }[];
        date?: string | undefined;
        status?: "DRAFT" | "SUBMITTED" | "AUTHORISED" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        due_date?: string | undefined;
        reference?: string | undefined;
        currency_code?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_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: "get_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_invoice";
        invoice_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_invoices">;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["DRAFT", "SUBMITTED", "AUTHORISED", "PAID", "VOIDED", "DELETED"]>>;
        page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        where: 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";
        page: number;
        status?: "DRAFT" | "SUBMITTED" | "AUTHORISED" | "PAID" | "VOIDED" | "DELETED" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        where?: string | undefined;
    }, {
        operation: "list_invoices";
        status?: "DRAFT" | "SUBMITTED" | "AUTHORISED" | "PAID" | "VOIDED" | "DELETED" | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        page?: number | undefined;
        where?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_contact">;
        name: import("zod").ZodString;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        first_name: import("zod").ZodOptional<import("zod").ZodString>;
        last_name: import("zod").ZodOptional<import("zod").ZodString>;
        phone: import("zod").ZodOptional<import("zod").ZodString>;
        account_number: import("zod").ZodOptional<import("zod").ZodString>;
        tax_number: 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, {
        name: string;
        operation: "create_contact";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        last_name?: string | undefined;
        account_number?: string | undefined;
        tax_number?: string | undefined;
    }, {
        name: string;
        operation: "create_contact";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        last_name?: string | undefined;
        account_number?: string | undefined;
        tax_number?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_contact">;
        contact_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_contact";
        contact_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_contact";
        contact_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_contacts">;
        page: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        where: 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_contacts";
        page: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        where?: string | undefined;
    }, {
        operation: "list_contacts";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        page?: number | undefined;
        where?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_accounts">;
        type: 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_accounts";
        type?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "list_accounts";
        type?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_report">;
        report_type: import("zod").ZodEnum<["BalanceSheet", "ProfitAndLoss", "TrialBalance", "BankSummary", "ExecutiveSummary", "BudgetSummary", "AgedReceivablesByContact", "AgedPayablesByContact"]>;
        date: import("zod").ZodOptional<import("zod").ZodString>;
        from_date: import("zod").ZodOptional<import("zod").ZodString>;
        to_date: import("zod").ZodOptional<import("zod").ZodString>;
        periods: import("zod").ZodOptional<import("zod").ZodNumber>;
        timeframe: import("zod").ZodOptional<import("zod").ZodEnum<["MONTH", "QUARTER", "YEAR"]>>;
        contact_id: import("zod").ZodOptional<import("zod").ZodString>;
        payments_only: import("zod").ZodOptional<import("zod").ZodBoolean>;
        tracking_category_id: import("zod").ZodOptional<import("zod").ZodString>;
        tracking_option_id: 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: "get_report";
        report_type: "BalanceSheet" | "ProfitAndLoss" | "TrialBalance" | "BankSummary" | "ExecutiveSummary" | "BudgetSummary" | "AgedReceivablesByContact" | "AgedPayablesByContact";
        date?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        contact_id?: string | undefined;
        from_date?: string | undefined;
        to_date?: string | undefined;
        periods?: number | undefined;
        timeframe?: "MONTH" | "QUARTER" | "YEAR" | undefined;
        payments_only?: boolean | undefined;
        tracking_category_id?: string | undefined;
        tracking_option_id?: string | undefined;
    }, {
        operation: "get_report";
        report_type: "BalanceSheet" | "ProfitAndLoss" | "TrialBalance" | "BankSummary" | "ExecutiveSummary" | "BudgetSummary" | "AgedReceivablesByContact" | "AgedPayablesByContact";
        date?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        contact_id?: string | undefined;
        from_date?: string | undefined;
        to_date?: string | undefined;
        periods?: number | undefined;
        timeframe?: "MONTH" | "QUARTER" | "YEAR" | undefined;
        payments_only?: boolean | undefined;
        tracking_category_id?: string | undefined;
        tracking_option_id?: string | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            InvoiceID: import("zod").ZodString;
            InvoiceNumber: import("zod").ZodOptional<import("zod").ZodString>;
            Type: import("zod").ZodString;
            Status: import("zod").ZodString;
            Contact: import("zod").ZodOptional<import("zod").ZodObject<{
                ContactID: import("zod").ZodString;
                Name: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                ContactID: string;
                Name?: string | undefined;
            }, {
                ContactID: string;
                Name?: string | undefined;
            }>>;
            Date: import("zod").ZodOptional<import("zod").ZodString>;
            DueDate: import("zod").ZodOptional<import("zod").ZodString>;
            SubTotal: import("zod").ZodOptional<import("zod").ZodNumber>;
            Total: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountDue: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountPaid: import("zod").ZodOptional<import("zod").ZodNumber>;
            CurrencyCode: import("zod").ZodOptional<import("zod").ZodString>;
            Reference: import("zod").ZodOptional<import("zod").ZodString>;
            LineItems: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_invoice";
        invoice?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_invoice";
        invoice?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_invoice">;
        success: import("zod").ZodBoolean;
        invoice: import("zod").ZodOptional<import("zod").ZodObject<{
            InvoiceID: import("zod").ZodString;
            InvoiceNumber: import("zod").ZodOptional<import("zod").ZodString>;
            Type: import("zod").ZodString;
            Status: import("zod").ZodString;
            Contact: import("zod").ZodOptional<import("zod").ZodObject<{
                ContactID: import("zod").ZodString;
                Name: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                ContactID: string;
                Name?: string | undefined;
            }, {
                ContactID: string;
                Name?: string | undefined;
            }>>;
            Date: import("zod").ZodOptional<import("zod").ZodString>;
            DueDate: import("zod").ZodOptional<import("zod").ZodString>;
            SubTotal: import("zod").ZodOptional<import("zod").ZodNumber>;
            Total: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountDue: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountPaid: import("zod").ZodOptional<import("zod").ZodNumber>;
            CurrencyCode: import("zod").ZodOptional<import("zod").ZodString>;
            Reference: import("zod").ZodOptional<import("zod").ZodString>;
            LineItems: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_invoice";
        invoice?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_invoice";
        invoice?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | 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<{
            InvoiceID: import("zod").ZodString;
            InvoiceNumber: import("zod").ZodOptional<import("zod").ZodString>;
            Type: import("zod").ZodString;
            Status: import("zod").ZodString;
            Contact: import("zod").ZodOptional<import("zod").ZodObject<{
                ContactID: import("zod").ZodString;
                Name: import("zod").ZodOptional<import("zod").ZodString>;
            }, "strip", import("zod").ZodTypeAny, {
                ContactID: string;
                Name?: string | undefined;
            }, {
                ContactID: string;
                Name?: string | undefined;
            }>>;
            Date: import("zod").ZodOptional<import("zod").ZodString>;
            DueDate: import("zod").ZodOptional<import("zod").ZodString>;
            SubTotal: import("zod").ZodOptional<import("zod").ZodNumber>;
            Total: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountDue: import("zod").ZodOptional<import("zod").ZodNumber>;
            AmountPaid: import("zod").ZodOptional<import("zod").ZodNumber>;
            CurrencyCode: import("zod").ZodOptional<import("zod").ZodString>;
            Reference: import("zod").ZodOptional<import("zod").ZodString>;
            LineItems: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }, {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_invoices";
        invoices?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_invoices";
        invoices?: {
            InvoiceID: string;
            Type: string;
            Status: string;
            Date?: string | undefined;
            InvoiceNumber?: string | undefined;
            Contact?: {
                ContactID: string;
                Name?: string | undefined;
            } | undefined;
            DueDate?: string | undefined;
            SubTotal?: number | undefined;
            Total?: number | undefined;
            AmountDue?: number | undefined;
            AmountPaid?: number | undefined;
            CurrencyCode?: string | undefined;
            Reference?: string | undefined;
            LineItems?: Record<string, unknown>[] | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_contact">;
        success: import("zod").ZodBoolean;
        contact: import("zod").ZodOptional<import("zod").ZodObject<{
            ContactID: import("zod").ZodString;
            Name: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodString>;
            LastName: import("zod").ZodOptional<import("zod").ZodString>;
            EmailAddress: import("zod").ZodOptional<import("zod").ZodString>;
            AccountNumber: import("zod").ZodOptional<import("zod").ZodString>;
            TaxNumber: import("zod").ZodOptional<import("zod").ZodString>;
            ContactStatus: import("zod").ZodOptional<import("zod").ZodString>;
            Phones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
            Addresses: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_contact";
        contact?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_contact";
        contact?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_contact">;
        success: import("zod").ZodBoolean;
        contact: import("zod").ZodOptional<import("zod").ZodObject<{
            ContactID: import("zod").ZodString;
            Name: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodString>;
            LastName: import("zod").ZodOptional<import("zod").ZodString>;
            EmailAddress: import("zod").ZodOptional<import("zod").ZodString>;
            AccountNumber: import("zod").ZodOptional<import("zod").ZodString>;
            TaxNumber: import("zod").ZodOptional<import("zod").ZodString>;
            ContactStatus: import("zod").ZodOptional<import("zod").ZodString>;
            Phones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
            Addresses: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_contact";
        contact?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_contact";
        contact?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_contacts">;
        success: import("zod").ZodBoolean;
        contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            ContactID: import("zod").ZodString;
            Name: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodString>;
            LastName: import("zod").ZodOptional<import("zod").ZodString>;
            EmailAddress: import("zod").ZodOptional<import("zod").ZodString>;
            AccountNumber: import("zod").ZodOptional<import("zod").ZodString>;
            TaxNumber: import("zod").ZodOptional<import("zod").ZodString>;
            ContactStatus: import("zod").ZodOptional<import("zod").ZodString>;
            Phones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
            Addresses: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        }, "strip", import("zod").ZodTypeAny, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }, {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_contacts";
        contacts?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_contacts";
        contacts?: {
            ContactID: string;
            Name: string;
            FirstName?: string | undefined;
            LastName?: string | undefined;
            EmailAddress?: string | undefined;
            AccountNumber?: string | undefined;
            TaxNumber?: string | undefined;
            ContactStatus?: string | undefined;
            Phones?: Record<string, unknown>[] | undefined;
            Addresses?: Record<string, unknown>[] | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_accounts">;
        success: import("zod").ZodBoolean;
        accounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            AccountID: import("zod").ZodString;
            Code: import("zod").ZodOptional<import("zod").ZodString>;
            Name: import("zod").ZodString;
            Type: import("zod").ZodString;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            Description: import("zod").ZodOptional<import("zod").ZodString>;
            Class: import("zod").ZodOptional<import("zod").ZodString>;
            TaxType: import("zod").ZodOptional<import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            Type: string;
            Name: string;
            AccountID: string;
            Description?: string | undefined;
            TaxType?: string | undefined;
            Status?: string | undefined;
            Code?: string | undefined;
            Class?: string | undefined;
        }, {
            Type: string;
            Name: string;
            AccountID: string;
            Description?: string | undefined;
            TaxType?: string | undefined;
            Status?: string | undefined;
            Code?: string | undefined;
            Class?: string | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_accounts";
        accounts?: {
            Type: string;
            Name: string;
            AccountID: string;
            Description?: string | undefined;
            TaxType?: string | undefined;
            Status?: string | undefined;
            Code?: string | undefined;
            Class?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_accounts";
        accounts?: {
            Type: string;
            Name: string;
            AccountID: string;
            Description?: string | undefined;
            TaxType?: string | undefined;
            Status?: string | undefined;
            Code?: string | undefined;
            Class?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_report">;
        success: import("zod").ZodBoolean;
        report: import("zod").ZodOptional<import("zod").ZodObject<{
            reportName: import("zod").ZodString;
            reportType: import("zod").ZodString;
            reportDate: import("zod").ZodOptional<import("zod").ZodString>;
            reportTitles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            rows: import("zod").ZodArray<import("zod").ZodObject<{
                rowType: import("zod").ZodString;
                title: import("zod").ZodOptional<import("zod").ZodString>;
                cells: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    value: import("zod").ZodString;
                    accountId: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    value: string;
                    accountId?: string | undefined;
                }, {
                    value: string;
                    accountId?: string | undefined;
                }>, "many">>;
                rows: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
            }, "strip", import("zod").ZodTypeAny, {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }, {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }>, "many">;
        }, "strip", import("zod").ZodTypeAny, {
            rows: {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }[];
            reportName: string;
            reportType: string;
            reportDate?: string | undefined;
            reportTitles?: string[] | undefined;
        }, {
            rows: {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }[];
            reportName: string;
            reportType: string;
            reportDate?: string | undefined;
            reportTitles?: string[] | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_report";
        report?: {
            rows: {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }[];
            reportName: string;
            reportType: string;
            reportDate?: string | undefined;
            reportTitles?: string[] | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_report";
        report?: {
            rows: {
                rowType: string;
                title?: string | undefined;
                rows?: Record<string, unknown>[] | undefined;
                cells?: {
                    value: string;
                    accountId?: string | undefined;
                }[] | undefined;
            }[];
            reportName: string;
            reportType: string;
            reportDate?: string | undefined;
            reportTitles?: string[] | undefined;
        } | undefined;
    }>]>;
    static readonly shortDescription = "Xero accounting integration for invoices, contacts, and accounts";
    static readonly longDescription = "\n    Xero accounting service integration for financial management.\n\n    Features:\n    - Create, retrieve, and list invoices (accounts receivable and payable)\n    - Create, retrieve, and list contacts (customers and suppliers)\n    - List chart of accounts with filtering\n    - Multi-tenant support for managing multiple Xero organizations\n\n    Use cases:\n    - Automated invoice creation and tracking\n    - Customer and supplier contact management\n    - Financial data synchronization and reporting\n    - Accounts payable and receivable automation\n\n    Security Features:\n    - OAuth 2.0 authentication with Xero\n    - Scoped access permissions for accounting operations\n    - Tenant-isolated API access\n    - Secure credential handling and validation\n  ";
    static readonly alias = "accounting";
    constructor(params?: T, context?: BubbleContext);
    testCredential(): Promise<boolean>;
    /**
     * Xero credential format:
     * Base64-encoded JSON: { accessToken, tenantId }
     * The tenantId identifies which Xero organization to access.
     */
    private parseCredentials;
    protected chooseCredential(): string | undefined;
    private makeXeroApiRequest;
    protected performAction(context?: BubbleContext): Promise<Extract<XeroResult, {
        operation: T['operation'];
    }>>;
    private createInvoice;
    private getInvoice;
    private listInvoices;
    private createContact;
    private getContact;
    private listContacts;
    private listAccounts;
    private getReport;
}
//# sourceMappingURL=xero.d.ts.map