import { z } from 'zod';
import { CredentialType } from '@bubblelab/shared-schemas';
export declare const SalesforceParamsSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
    operation: z.ZodLiteral<"get_account">;
    record_id: z.ZodString;
    fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "get_account";
    record_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}, {
    operation: "get_account";
    record_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"search_accounts">;
    where_clause: z.ZodString;
    fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "search_accounts";
    limit: number;
    where_clause: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}, {
    operation: "search_accounts";
    where_clause: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
    limit?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_contact">;
    record_id: z.ZodString;
    fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "get_contact";
    record_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}, {
    operation: "get_contact";
    record_id: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"search_contacts">;
    where_clause: z.ZodString;
    fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "search_contacts";
    limit: number;
    where_clause: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
}, {
    operation: "search_contacts";
    where_clause: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    fields?: string[] | undefined;
    limit?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"query">;
    soql: z.ZodString;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "query";
    soql: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "query";
    soql: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"describe_object">;
    object_name: z.ZodString;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "describe_object";
    object_name: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "describe_object";
    object_name: string;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_objects">;
    include_custom_only: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    operation: "list_objects";
    include_custom_only: boolean;
    credentials?: Partial<Record<CredentialType, string>> | undefined;
}, {
    operation: "list_objects";
    credentials?: Partial<Record<CredentialType, string>> | undefined;
    include_custom_only?: boolean | undefined;
}>]>;
export declare const SalesforceResultSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
    operation: z.ZodLiteral<"get_account">;
    success: z.ZodBoolean;
    record: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "get_account";
    record?: Record<string, unknown> | undefined;
}, {
    error: string;
    success: boolean;
    operation: "get_account";
    record?: Record<string, unknown> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"search_accounts">;
    success: z.ZodBoolean;
    records: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
    totalSize: z.ZodOptional<z.ZodNumber>;
    done: z.ZodOptional<z.ZodBoolean>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "search_accounts";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}, {
    error: string;
    success: boolean;
    operation: "search_accounts";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"get_contact">;
    success: z.ZodBoolean;
    record: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "get_contact";
    record?: Record<string, unknown> | undefined;
}, {
    error: string;
    success: boolean;
    operation: "get_contact";
    record?: Record<string, unknown> | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"search_contacts">;
    success: z.ZodBoolean;
    records: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
    totalSize: z.ZodOptional<z.ZodNumber>;
    done: z.ZodOptional<z.ZodBoolean>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "search_contacts";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}, {
    error: string;
    success: boolean;
    operation: "search_contacts";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"query">;
    success: z.ZodBoolean;
    records: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
    totalSize: z.ZodOptional<z.ZodNumber>;
    done: z.ZodOptional<z.ZodBoolean>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "query";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}, {
    error: string;
    success: boolean;
    operation: "query";
    done?: boolean | undefined;
    records?: Record<string, unknown>[] | undefined;
    totalSize?: number | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"describe_object">;
    success: z.ZodBoolean;
    object_name: z.ZodOptional<z.ZodString>;
    object_label: z.ZodOptional<z.ZodString>;
    fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
        apiName: z.ZodString;
        label: z.ZodString;
        type: z.ZodString;
        custom: z.ZodBoolean;
        picklistValues: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        referenceTo: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        custom: boolean;
        label: string;
        apiName: string;
        picklistValues?: string[] | undefined;
        referenceTo?: string[] | undefined;
    }, {
        type: string;
        custom: boolean;
        label: string;
        apiName: string;
        picklistValues?: string[] | undefined;
        referenceTo?: string[] | undefined;
    }>, "many">>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "describe_object";
    fields?: {
        type: string;
        custom: boolean;
        label: string;
        apiName: string;
        picklistValues?: string[] | undefined;
        referenceTo?: string[] | undefined;
    }[] | undefined;
    object_name?: string | undefined;
    object_label?: string | undefined;
}, {
    error: string;
    success: boolean;
    operation: "describe_object";
    fields?: {
        type: string;
        custom: boolean;
        label: string;
        apiName: string;
        picklistValues?: string[] | undefined;
        referenceTo?: string[] | undefined;
    }[] | undefined;
    object_name?: string | undefined;
    object_label?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"list_objects">;
    success: z.ZodBoolean;
    objects: z.ZodOptional<z.ZodArray<z.ZodObject<{
        apiName: z.ZodString;
        label: z.ZodString;
        custom: z.ZodBoolean;
        queryable: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        custom: boolean;
        label: string;
        apiName: string;
        queryable: boolean;
    }, {
        custom: boolean;
        label: string;
        apiName: string;
        queryable: boolean;
    }>, "many">>;
    error: z.ZodString;
}, "strip", z.ZodTypeAny, {
    error: string;
    success: boolean;
    operation: "list_objects";
    objects?: {
        custom: boolean;
        label: string;
        apiName: string;
        queryable: boolean;
    }[] | undefined;
}, {
    error: string;
    success: boolean;
    operation: "list_objects";
    objects?: {
        custom: boolean;
        label: string;
        apiName: string;
        queryable: boolean;
    }[] | undefined;
}>]>;
export type SalesforceParams = z.output<typeof SalesforceParamsSchema>;
export type SalesforceParamsInput = z.input<typeof SalesforceParamsSchema>;
export type SalesforceResult = z.output<typeof SalesforceResultSchema>;
//# sourceMappingURL=salesforce.schema.d.ts.map