import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type HubSpotParamsInput, type HubSpotResult } from './hubspot.schema.js';
/**
 * HubSpot CRM Service Bubble
 *
 * Comprehensive HubSpot CRM integration for managing contacts, companies,
 * deals, tickets, properties, associations, pipelines, notes, owners,
 * lists, and account information.
 */
export declare class HubSpotBubble<T extends HubSpotParamsInput = HubSpotParamsInput> extends ServiceBubble<T, Extract<HubSpotResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "hubspot";
    static readonly authType: "oauth";
    static readonly bubbleName = "hubspot";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_record">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        properties: Record<string, string>;
        operation: "create_record";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        properties: Record<string, string>;
        operation: "create_record";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_record">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        record_id: import("zod").ZodString;
        properties: 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";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        properties?: string[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_record";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        properties?: string[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_record">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        record_id: import("zod").ZodString;
        properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        properties: Record<string, string>;
        operation: "update_record";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        properties: Record<string, string>;
        operation: "update_record";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_record">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        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";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "delete_record";
        record_id: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"search_records">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        filter_groups: import("zod").ZodArray<import("zod").ZodObject<{
            filters: import("zod").ZodArray<import("zod").ZodObject<{
                propertyName: import("zod").ZodString;
                operator: import("zod").ZodEnum<["EQ", "NEQ", "LT", "LTE", "GT", "GTE", "BETWEEN", "IN", "NOT_IN", "HAS_PROPERTY", "NOT_HAS_PROPERTY", "CONTAINS_TOKEN", "NOT_CONTAINS_TOKEN"]>;
                value: import("zod").ZodOptional<import("zod").ZodString>;
                highValue: import("zod").ZodOptional<import("zod").ZodString>;
                values: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
            }, "strip", import("zod").ZodTypeAny, {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }, {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }>, "many">;
        }, "strip", import("zod").ZodTypeAny, {
            filters: {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }[];
        }, {
            filters: {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }[];
        }>, "many">;
        properties: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
        limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        after: 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: "search_records";
        limit: number;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        filter_groups: {
            filters: {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }[];
        }[];
        properties?: string[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        after?: string | undefined;
    }, {
        operation: "search_records";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        filter_groups: {
            filters: {
                propertyName: string;
                operator: "GT" | "IN" | "LT" | "EQ" | "NEQ" | "LTE" | "GTE" | "BETWEEN" | "NOT_IN" | "HAS_PROPERTY" | "NOT_HAS_PROPERTY" | "CONTAINS_TOKEN" | "NOT_CONTAINS_TOKEN";
                value?: string | undefined;
                values?: string[] | undefined;
                highValue?: string | undefined;
            }[];
        }[];
        properties?: string[] | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        limit?: number | undefined;
        after?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_create_records">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        records: import("zod").ZodArray<import("zod").ZodObject<{
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, string>;
        }, {
            properties: Record<string, string>;
        }>, "many">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "batch_create_records";
        records: {
            properties: Record<string, string>;
        }[];
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "batch_create_records";
        records: {
            properties: Record<string, string>;
        }[];
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_update_records">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        records: import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, string>;
            id: string;
        }, {
            properties: Record<string, string>;
            id: string;
        }>, "many">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "batch_update_records";
        records: {
            properties: Record<string, string>;
            id: string;
        }[];
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "batch_update_records";
        records: {
            properties: Record<string, string>;
            id: string;
        }[];
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_delete_records">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        record_ids: 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: "batch_delete_records";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        record_ids: string[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "batch_delete_records";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        record_ids: string[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_properties">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_properties";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "list_properties";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_property">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        property_name: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_property">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        name: import("zod").ZodString;
        label: import("zod").ZodString;
        type: import("zod").ZodEnum<["string", "number", "date", "datetime", "enumeration", "bool"]>;
        fieldType: import("zod").ZodEnum<["text", "textarea", "number", "date", "file", "select", "radio", "checkbox", "booleancheckbox", "calculation_equation", "html", "phonenumber"]>;
        groupName: import("zod").ZodString;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        hasUniqueValue: import("zod").ZodOptional<import("zod").ZodBoolean>;
        options: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            label: import("zod").ZodString;
            value: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            displayOrder: import("zod").ZodOptional<import("zod").ZodNumber>;
            hidden: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }, {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }>, "many">>;
        calculationFormula: 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: "string" | "number" | "date" | "datetime" | "enumeration" | "bool";
        name: string;
        operation: "create_property";
        label: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        fieldType: "number" | "date" | "text" | "file" | "html" | "checkbox" | "textarea" | "select" | "radio" | "booleancheckbox" | "calculation_equation" | "phonenumber";
        groupName: string;
        options?: {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }[] | undefined;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        hasUniqueValue?: boolean | undefined;
        calculationFormula?: string | undefined;
    }, {
        type: "string" | "number" | "date" | "datetime" | "enumeration" | "bool";
        name: string;
        operation: "create_property";
        label: string;
        object_type: "deals" | "contacts" | "companies" | "tickets";
        fieldType: "number" | "date" | "text" | "file" | "html" | "checkbox" | "textarea" | "select" | "radio" | "booleancheckbox" | "calculation_equation" | "phonenumber";
        groupName: string;
        options?: {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }[] | undefined;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        hasUniqueValue?: boolean | undefined;
        calculationFormula?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_property">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        property_name: import("zod").ZodString;
        label: import("zod").ZodOptional<import("zod").ZodString>;
        description: import("zod").ZodOptional<import("zod").ZodString>;
        groupName: import("zod").ZodOptional<import("zod").ZodString>;
        type: import("zod").ZodOptional<import("zod").ZodEnum<["string", "number", "date", "datetime", "enumeration", "bool"]>>;
        fieldType: import("zod").ZodOptional<import("zod").ZodEnum<["text", "textarea", "number", "date", "file", "select", "radio", "checkbox", "booleancheckbox", "calculation_equation", "html", "phonenumber"]>>;
        options: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            label: import("zod").ZodString;
            value: import("zod").ZodString;
            description: import("zod").ZodOptional<import("zod").ZodString>;
            displayOrder: import("zod").ZodOptional<import("zod").ZodNumber>;
            hidden: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }, {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }>, "many">>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "update_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        options?: {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }[] | undefined;
        type?: "string" | "number" | "date" | "datetime" | "enumeration" | "bool" | undefined;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        label?: string | undefined;
        fieldType?: "number" | "date" | "text" | "file" | "html" | "checkbox" | "textarea" | "select" | "radio" | "booleancheckbox" | "calculation_equation" | "phonenumber" | undefined;
        groupName?: string | undefined;
    }, {
        operation: "update_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        options?: {
            value: string;
            label: string;
            description?: string | undefined;
            displayOrder?: number | undefined;
            hidden?: boolean | undefined;
        }[] | undefined;
        type?: "string" | "number" | "date" | "datetime" | "enumeration" | "bool" | undefined;
        description?: string | undefined;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        label?: string | undefined;
        fieldType?: "number" | "date" | "text" | "file" | "html" | "checkbox" | "textarea" | "select" | "radio" | "booleancheckbox" | "calculation_equation" | "phonenumber" | undefined;
        groupName?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_property">;
        object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        property_name: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "delete_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "delete_property";
        object_type: "deals" | "contacts" | "companies" | "tickets";
        property_name: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_associations">;
        from_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        from_record_id: import("zod").ZodString;
        to_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_associations";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "list_associations";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_association">;
        from_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        from_record_id: import("zod").ZodString;
        to_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        to_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: "create_association";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        to_record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "create_association";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        to_record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"remove_association">;
        from_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        from_record_id: import("zod").ZodString;
        to_object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
        to_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: "remove_association";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        to_record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "remove_association";
        from_object_type: "deals" | "contacts" | "companies" | "tickets";
        from_record_id: string;
        to_object_type: "deals" | "contacts" | "companies" | "tickets";
        to_record_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_pipelines">;
        object_type: import("zod").ZodEnum<["deals", "tickets"]>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "list_pipelines";
        object_type: "deals" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "list_pipelines";
        object_type: "deals" | "tickets";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_note">;
        note_body: import("zod").ZodString;
        associations: import("zod").ZodArray<import("zod").ZodObject<{
            object_type: import("zod").ZodEnum<["contacts", "companies", "deals", "tickets"]>;
            record_id: import("zod").ZodString;
        }, "strip", import("zod").ZodTypeAny, {
            record_id: string;
            object_type: "deals" | "contacts" | "companies" | "tickets";
        }, {
            record_id: string;
            object_type: "deals" | "contacts" | "companies" | "tickets";
        }>, "many">;
        timestamp: 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: "create_note";
        note_body: string;
        associations: {
            record_id: string;
            object_type: "deals" | "contacts" | "companies" | "tickets";
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        timestamp?: string | undefined;
    }, {
        operation: "create_note";
        note_body: string;
        associations: {
            record_id: string;
            object_type: "deals" | "contacts" | "companies" | "tickets";
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        timestamp?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_account_info">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_account_info";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_account_info";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_record">;
        success: import("zod").ZodBoolean;
        record: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_record">;
        success: import("zod").ZodBoolean;
        record: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_record">;
        success: import("zod").ZodBoolean;
        record: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "update_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "update_record";
        record?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        } | undefined;
    }>, 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_records">;
        success: import("zod").ZodBoolean;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>, "many">>;
        total: import("zod").ZodOptional<import("zod").ZodNumber>;
        paging: import("zod").ZodOptional<import("zod").ZodObject<{
            next: import("zod").ZodOptional<import("zod").ZodObject<{
                after: import("zod").ZodString;
            }, "strip", import("zod").ZodTypeAny, {
                after: string;
            }, {
                after: string;
            }>>;
        }, "strip", import("zod").ZodTypeAny, {
            next?: {
                after: string;
            } | undefined;
        }, {
            next?: {
                after: string;
            } | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "search_records";
        total?: number | undefined;
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
        paging?: {
            next?: {
                after: string;
            } | undefined;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "search_records";
        total?: number | undefined;
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
        paging?: {
            next?: {
                after: string;
            } | undefined;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_create_records">;
        success: import("zod").ZodBoolean;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "batch_create_records";
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "batch_create_records";
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_update_records">;
        success: import("zod").ZodBoolean;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
            createdAt: import("zod").ZodOptional<import("zod").ZodString>;
            updatedAt: import("zod").ZodOptional<import("zod").ZodString>;
            archived: import("zod").ZodOptional<import("zod").ZodBoolean>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }, {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }>, "many">>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "batch_update_records";
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "batch_update_records";
        results?: {
            properties: Record<string, unknown>;
            id: string;
            createdAt?: string | undefined;
            archived?: boolean | undefined;
            updatedAt?: string | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"batch_delete_records">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "batch_delete_records";
    }, {
        error: string;
        success: boolean;
        operation: "batch_delete_records";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_properties">;
        success: import("zod").ZodBoolean;
        properties: 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: "list_properties";
        properties?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_properties";
        properties?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_property">;
        success: import("zod").ZodBoolean;
        property: 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_property";
        property?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_property";
        property?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_property">;
        success: import("zod").ZodBoolean;
        property: 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: "create_property";
        property?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_property";
        property?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"update_property">;
        success: import("zod").ZodBoolean;
        property: 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: "update_property";
        property?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "update_property";
        property?: Record<string, unknown> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"delete_property">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "delete_property";
    }, {
        error: string;
        success: boolean;
        operation: "delete_property";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_associations">;
        success: import("zod").ZodBoolean;
        associations: 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: "list_associations";
        associations?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_associations";
        associations?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_association">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_association";
    }, {
        error: string;
        success: boolean;
        operation: "create_association";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"remove_association">;
        success: import("zod").ZodBoolean;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "remove_association";
    }, {
        error: string;
        success: boolean;
        operation: "remove_association";
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"list_pipelines">;
        success: import("zod").ZodBoolean;
        pipelines: 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: "list_pipelines";
        pipelines?: Record<string, unknown>[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "list_pipelines";
        pipelines?: Record<string, unknown>[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"create_note">;
        success: import("zod").ZodBoolean;
        note: import("zod").ZodOptional<import("zod").ZodObject<{
            id: import("zod").ZodString;
            properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
        }, "strip", import("zod").ZodTypeAny, {
            properties: Record<string, unknown>;
            id: string;
        }, {
            properties: Record<string, unknown>;
            id: string;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "create_note";
        note?: {
            properties: Record<string, unknown>;
            id: string;
        } | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "create_note";
        note?: {
            properties: Record<string, unknown>;
            id: string;
        } | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_account_info">;
        success: import("zod").ZodBoolean;
        account: 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_account_info";
        account?: Record<string, unknown> | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_account_info";
        account?: Record<string, unknown> | undefined;
    }>]>;
    static readonly shortDescription = "HubSpot CRM integration for contacts, companies, deals, and tickets";
    static readonly longDescription = "\n    HubSpot CRM service integration for comprehensive customer relationship management.\n\n    Features:\n    - Full CRUD + batch operations for contacts, companies, deals, and tickets\n    - Advanced search with filter groups supporting AND/OR logic\n    - Property definition management (create, update, delete custom properties)\n    - Record associations (link contacts to companies, deals, etc.)\n    - Pipeline and stage management for deals and tickets\n    - Note creation with record associations\n    - Account information retrieval\n\n    Security Features:\n    - OAuth 2.0 authentication with HubSpot\n    - Scoped access permissions for CRM operations\n    - Secure credential handling and validation\n  ";
    static readonly alias = "crm";
    private static readonly NOTE_ASSOC_TYPES;
    constructor(params?: T, context?: BubbleContext);
    testCredential(): Promise<boolean>;
    protected chooseCredential(): string | undefined;
    private makeHubSpotApiRequest;
    protected performAction(context?: BubbleContext): Promise<Extract<HubSpotResult, {
        operation: T['operation'];
    }>>;
    private createRecord;
    private getRecord;
    private updateRecord;
    private deleteRecord;
    private searchRecords;
    private batchCreateRecords;
    private batchUpdateRecords;
    private batchDeleteRecords;
    private listProperties;
    private getProperty;
    private createProperty;
    private updateProperty;
    private deleteProperty;
    private listAssociations;
    private createAssociation;
    private removeAssociation;
    private listPipelines;
    private createNote;
    private getAccountInfo;
}
//# sourceMappingURL=hubspot.d.ts.map