import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type SalesforceParamsInput, type SalesforceResult } from './salesforce.schema.js';
/**
 * Salesforce Service Bubble
 *
 * Comprehensive Salesforce CRM integration using raw REST API calls.
 * Supports OAuth 2.0 Web Server Flow authentication.
 *
 * Features:
 * - SOQL queries for flexible data retrieval
 * - CRUD operations on any sObject (Account, Contact, Lead, Opportunity, etc.)
 * - Metadata operations (describe sObjects, list available objects)
 * - SOSL search across multiple objects
 * - User info retrieval
 *
 * Use cases:
 * - Sync customer data between systems
 * - Automate lead creation and management
 * - Query and report on sales data
 * - Update opportunity stages and amounts
 * - Create contacts from form submissions
 *
 * Authentication:
 * - OAuth 2.0 Web Server Flow
 * - Automatic token refresh handling
 * - Instance URL management
 */
export declare class SalesforceBubble<T extends SalesforceParamsInput = SalesforceParamsInput> extends ServiceBubble<T, Extract<SalesforceResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "salesforce";
    static readonly authType: "oauth";
    static readonly bubbleName = "salesforce";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"query">;
        query: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        query: string;
        operation: "query";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        query: string;
        operation: "query";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_user_info">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_user_info";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_user_info";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"describe_sobject">;
        sobject_type: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "describe_sobject";
        sobject_type: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "describe_sobject";
        sobject_type: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_sobjects">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_sobjects";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "list_sobjects";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_record">;
        sobject_type: import("zod").ZodString;
        record_id: import("zod").ZodString;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
    }, {
        operation: "get_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_record">;
        sobject_type: import("zod").ZodString;
        data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        data: Record<string, unknown>;
        operation: "create_record";
        sobject_type: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        data: Record<string, unknown>;
        operation: "create_record";
        sobject_type: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_record">;
        sobject_type: import("zod").ZodString;
        record_id: import("zod").ZodString;
        data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        data: Record<string, unknown>;
        operation: "update_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        data: Record<string, unknown>;
        operation: "update_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_record">;
        sobject_type: import("zod").ZodString;
        record_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "delete_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "delete_record";
        sobject_type: string;
        record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"search">;
        search_query: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "search";
        search_query: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "search";
        search_query: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_account">;
        name: import("zod").ZodString;
        type: import("zod").ZodOptional<import("zod").ZodString>;
        industry: import("zod").ZodOptional<import("zod").ZodString>;
        website: import("zod").ZodOptional<import("zod").ZodString>;
        phone: import("zod").ZodOptional<import("zod").ZodString>;
        billing_city: import("zod").ZodOptional<import("zod").ZodString>;
        billing_state: import("zod").ZodOptional<import("zod").ZodString>;
        billing_country: import("zod").ZodOptional<import("zod").ZodString>;
        additional_fields: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        name: string;
        operation: "create_account";
        type?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        phone?: string | undefined;
        website?: string | undefined;
        industry?: string | undefined;
        billing_city?: string | undefined;
        billing_state?: string | undefined;
        billing_country?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
    }, {
        name: string;
        operation: "create_account";
        type?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        phone?: string | undefined;
        website?: string | undefined;
        industry?: string | undefined;
        billing_city?: string | undefined;
        billing_state?: string | undefined;
        billing_country?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_contact">;
        first_name: import("zod").ZodOptional<import("zod").ZodString>;
        last_name: import("zod").ZodString;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        phone: import("zod").ZodOptional<import("zod").ZodString>;
        title: import("zod").ZodOptional<import("zod").ZodString>;
        account_id: import("zod").ZodOptional<import("zod").ZodString>;
        additional_fields: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_contact";
        last_name: string;
        title?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        account_id?: string | undefined;
    }, {
        operation: "create_contact";
        last_name: string;
        title?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        account_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_lead">;
        first_name: import("zod").ZodOptional<import("zod").ZodString>;
        last_name: import("zod").ZodString;
        company: import("zod").ZodString;
        email: import("zod").ZodOptional<import("zod").ZodString>;
        phone: import("zod").ZodOptional<import("zod").ZodString>;
        title: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodString>;
        lead_source: import("zod").ZodOptional<import("zod").ZodString>;
        additional_fields: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "create_lead";
        last_name: string;
        company: string;
        title?: string | undefined;
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        lead_source?: string | undefined;
    }, {
        operation: "create_lead";
        last_name: string;
        company: string;
        title?: string | undefined;
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        email?: string | undefined;
        phone?: string | undefined;
        first_name?: string | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        lead_source?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_opportunity">;
        name: import("zod").ZodString;
        stage_name: import("zod").ZodString;
        close_date: import("zod").ZodString;
        amount: import("zod").ZodOptional<import("zod").ZodNumber>;
        probability: import("zod").ZodOptional<import("zod").ZodNumber>;
        account_id: import("zod").ZodOptional<import("zod").ZodString>;
        additional_fields: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        name: string;
        operation: "create_opportunity";
        stage_name: string;
        close_date: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        amount?: number | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        account_id?: string | undefined;
        probability?: number | undefined;
    }, {
        name: string;
        operation: "create_opportunity";
        stage_name: string;
        close_date: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        amount?: number | undefined;
        additional_fields?: Record<string, unknown> | undefined;
        account_id?: string | undefined;
        probability?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_accounts">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        where_clause: import("zod").ZodOptional<import("zod").ZodString>;
        order_by: 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";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        order_by?: string | undefined;
        where_clause?: string | undefined;
    }, {
        operation: "list_accounts";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        limit?: number | undefined;
        order_by?: string | undefined;
        where_clause?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_contacts">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        where_clause: import("zod").ZodOptional<import("zod").ZodString>;
        order_by: import("zod").ZodOptional<import("zod").ZodString>;
        account_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: "list_contacts";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        order_by?: string | undefined;
        account_id?: string | undefined;
        where_clause?: string | undefined;
    }, {
        operation: "list_contacts";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        limit?: number | undefined;
        order_by?: string | undefined;
        account_id?: string | undefined;
        where_clause?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_leads">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        where_clause: import("zod").ZodOptional<import("zod").ZodString>;
        order_by: import("zod").ZodOptional<import("zod").ZodString>;
        status: 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_leads";
        limit: number;
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        order_by?: string | undefined;
        where_clause?: string | undefined;
    }, {
        operation: "list_leads";
        status?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        limit?: number | undefined;
        order_by?: string | undefined;
        where_clause?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_opportunities">;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        where_clause: import("zod").ZodOptional<import("zod").ZodString>;
        order_by: import("zod").ZodOptional<import("zod").ZodString>;
        account_id: import("zod").ZodOptional<import("zod").ZodString>;
        stage_name: import("zod").ZodOptional<import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_opportunities";
        limit: number;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        order_by?: string | undefined;
        account_id?: string | undefined;
        stage_name?: string | undefined;
        where_clause?: string | undefined;
    }, {
        operation: "list_opportunities";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        fields?: string[] | undefined;
        limit?: number | undefined;
        order_by?: string | undefined;
        account_id?: string | undefined;
        stage_name?: string | undefined;
        where_clause?: string | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"query">;
        success: import("zod").ZodBoolean;
        result: import("zod").ZodOptional<import("zod").ZodObject<{
            totalSize: import("zod").ZodNumber;
            done: import("zod").ZodBoolean;
            nextRecordsUrl: import("zod").ZodOptional<import("zod").ZodString>;
            records: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">;
        }, "strip", import("zod").ZodTypeAny, {
            done: boolean;
            records: Record<string, unknown>[];
            totalSize: number;
            nextRecordsUrl?: string | undefined;
        }, {
            done: boolean;
            records: Record<string, unknown>[];
            totalSize: number;
            nextRecordsUrl?: string | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "query";
        result?: {
            done: boolean;
            records: Record<string, unknown>[];
            totalSize: number;
            nextRecordsUrl?: string | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "query";
        result?: {
            done: boolean;
            records: Record<string, unknown>[];
            totalSize: number;
            nextRecordsUrl?: string | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_user_info">;
        success: import("zod").ZodBoolean;
        user_info: import("zod").ZodOptional<import("zod").ZodObject<{
            user_id: import("zod").ZodString;
            organization_id: import("zod").ZodString;
            username: import("zod").ZodString;
            display_name: import("zod").ZodString;
            email: import("zod").ZodString;
            active: import("zod").ZodBoolean;
            user_type: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            email: string;
            username: string;
            display_name: string;
            active: boolean;
            user_id: string;
            organization_id: string;
            user_type: string;
        }, {
            email: string;
            username: string;
            display_name: string;
            active: boolean;
            user_id: string;
            organization_id: string;
            user_type: string;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_user_info";
        user_info?: {
            email: string;
            username: string;
            display_name: string;
            active: boolean;
            user_id: string;
            organization_id: string;
            user_type: string;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_user_info";
        user_info?: {
            email: string;
            username: string;
            display_name: string;
            active: boolean;
            user_id: string;
            organization_id: string;
            user_type: string;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"describe_sobject">;
        success: import("zod").ZodBoolean;
        metadata: import("zod").ZodOptional<import("zod").ZodObject<{
            name: import("zod").ZodString;
            label: import("zod").ZodString;
            labelPlural: import("zod").ZodString;
            fields: import("zod").ZodArray<import("zod").ZodObject<{
                name: import("zod").ZodString;
                label: import("zod").ZodString;
                type: import("zod").ZodString;
                required: import("zod").ZodBoolean;
                createable: import("zod").ZodBoolean;
                updateable: import("zod").ZodBoolean;
                picklistValues: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    value: import("zod").ZodString;
                    label: import("zod").ZodString;
                }, "strip", import("zod").ZodTypeAny, {
                    value: string;
                    label: string;
                }, {
                    value: string;
                    label: string;
                }>, "many">>;
            }, "strip", import("zod").ZodTypeAny, {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }, {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }>, "many">;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            fields: {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }[];
            label: string;
            labelPlural: string;
        }, {
            name: string;
            fields: {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }[];
            label: string;
            labelPlural: string;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "describe_sobject";
        metadata?: {
            name: string;
            fields: {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }[];
            label: string;
            labelPlural: string;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "describe_sobject";
        metadata?: {
            name: string;
            fields: {
                type: string;
                required: boolean;
                name: string;
                label: string;
                createable: boolean;
                updateable: boolean;
                picklistValues?: {
                    value: string;
                    label: string;
                }[] | undefined;
            }[];
            label: string;
            labelPlural: string;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_sobjects">;
        success: import("zod").ZodBoolean;
        sobjects: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            name: import("zod").ZodString;
            label: import("zod").ZodString;
            queryable: import("zod").ZodBoolean;
            createable: import("zod").ZodBoolean;
            updateable: import("zod").ZodBoolean;
            deletable: import("zod").ZodBoolean;
        }, "strip", import("zod").ZodTypeAny, {
            name: string;
            label: string;
            createable: boolean;
            updateable: boolean;
            queryable: boolean;
            deletable: boolean;
        }, {
            name: string;
            label: string;
            createable: boolean;
            updateable: boolean;
            queryable: boolean;
            deletable: boolean;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_sobjects";
        sobjects?: {
            name: string;
            label: string;
            createable: boolean;
            updateable: boolean;
            queryable: boolean;
            deletable: boolean;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_sobjects";
        sobjects?: {
            name: string;
            label: string;
            createable: boolean;
            updateable: boolean;
            queryable: boolean;
            deletable: boolean;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_record">;
        success: import("zod").ZodBoolean;
        record: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_record";
        record?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_record";
        record?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_record">;
        success: import("zod").ZodBoolean;
        id: import("zod").ZodOptional<import("zod").ZodString>;
        errors: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_record";
        id?: string | undefined;
        errors?: string[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_record";
        id?: string | undefined;
        errors?: string[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_record">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "update_record";
    }, {
        error: string;
        success: boolean;
        operation: "update_record";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_record">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "delete_record";
    }, {
        error: string;
        success: boolean;
        operation: "delete_record";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"search">;
        success: import("zod").ZodBoolean;
        searchRecords: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "search";
        searchRecords?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "search";
        searchRecords?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_account">;
        success: import("zod").ZodBoolean;
        account: import("zod").ZodOptional<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_account";
        account?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_account";
        account?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_contact">;
        success: import("zod").ZodBoolean;
        contact: import("zod").ZodOptional<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_contact";
        contact?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_contact";
        contact?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_lead">;
        success: import("zod").ZodBoolean;
        lead: import("zod").ZodOptional<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_lead";
        lead?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_lead";
        lead?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_opportunity">;
        success: import("zod").ZodBoolean;
        opportunity: import("zod").ZodOptional<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_opportunity";
        opportunity?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_opportunity";
        opportunity?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough"> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_accounts">;
        success: import("zod").ZodBoolean;
        accounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        total_size: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_accounts";
        accounts?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
        total_size?: number | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_accounts";
        accounts?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            Type: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Industry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Website: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingState: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            BillingCountry: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
        total_size?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_contacts">;
        success: import("zod").ZodBoolean;
        contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        total_size: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_contacts";
        contacts?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
        total_size?: number | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_contacts";
        contacts?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
        total_size?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_leads">;
        success: import("zod").ZodBoolean;
        leads: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        total_size: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_leads";
        total_size?: number | undefined;
        leads?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_leads";
        total_size?: number | undefined;
        leads?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            FirstName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            LastName: import("zod").ZodString;
            Email: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Phone: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Company: import("zod").ZodString;
            Title: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            Status: import("zod").ZodOptional<import("zod").ZodString>;
            LeadSource: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_opportunities">;
        success: import("zod").ZodBoolean;
        opportunities: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
        total_size: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "list_opportunities";
        total_size?: number | undefined;
        opportunities?: import("zod").objectOutputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_opportunities";
        total_size?: number | undefined;
        opportunities?: import("zod").objectInputType<{
            Id: import("zod").ZodString;
            Name: import("zod").ZodString;
            StageName: import("zod").ZodString;
            Amount: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            CloseDate: import("zod").ZodString;
            Probability: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
            AccountId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
            CreatedDate: import("zod").ZodOptional<import("zod").ZodString>;
            LastModifiedDate: import("zod").ZodOptional<import("zod").ZodString>;
        }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
    }>]>;
    static readonly shortDescription = "Salesforce CRM integration for managing accounts, contacts, leads, and opportunities";
    static readonly longDescription = "\n    Salesforce CRM service integration for comprehensive customer relationship management.\n    Uses raw REST API calls with OAuth 2.0 authentication.\n\n    Features:\n    - SOQL queries for flexible data retrieval\n    - CRUD operations on any sObject (Account, Contact, Lead, Opportunity, etc.)\n    - Metadata operations (describe sObjects, list available objects)\n    - SOSL search across multiple objects\n    - User info retrieval\n\n    Use cases:\n    - Sync customer data between systems\n    - Automate lead creation and management\n    - Query and report on sales data\n    - Update opportunity stages and amounts\n    - Create contacts from form submissions\n\n    Authentication:\n    - OAuth 2.0 Web Server Flow\n    - Automatic token refresh handling\n  ";
    static readonly alias = "crm";
    constructor(params?: T, context?: BubbleContext);
    testCredential(): Promise<boolean>;
    /**
     * Get OAuth data from credential
     */
    private getOAuthData;
    private makeSalesforceRequest;
    protected performAction(context?: BubbleContext): Promise<Extract<SalesforceResult, {
        operation: T['operation'];
    }>>;
    private executeQuery;
    private executeSearch;
    private getUserInfo;
    private describeSObject;
    private listSObjects;
    private getRecord;
    private createRecord;
    private updateRecord;
    private deleteRecord;
    private createAccount;
    private listAccounts;
    private createContact;
    private listContacts;
    private createLead;
    private listLeads;
    private createOpportunity;
    private listOpportunities;
    protected chooseCredential(): string | undefined;
}
//# sourceMappingURL=salesforce.d.ts.map