import { ServiceBubble } from '../../../types/service-bubble-class.js';
import type { BubbleContext } from '../../../types/bubble.js';
import { CredentialType } from '@bubblelab/shared-schemas';
import { type FullEnrichParamsInput, type FullEnrichResult } from './fullenrich.schema.js';
/**
 * FullEnrich Service Bubble
 *
 * B2B contact enrichment service for finding work emails, mobile phones,
 * and personal emails from contact information or LinkedIn profiles.
 *
 * Features:
 * - Bulk enrichment for up to 100 contacts at once
 * - Reverse email lookup to find contact info from email addresses
 * - LinkedIn profile enrichment for enhanced data
 * - Webhook support for real-time result delivery
 * - Credit-based pricing with balance tracking
 *
 * Use cases:
 * - Enrich leads with work emails and phone numbers
 * - Build sales prospecting pipelines
 * - Verify and update CRM contact data
 * - Find decision makers from LinkedIn profiles
 *
 * Credit Costs:
 * - Work email: 1 credit
 * - Personal email: 3 credits
 * - Mobile phone: 10 credits
 * - Reverse email lookup: 1 credit per match
 *
 * Security Features:
 * - API key authentication (Bearer token)
 * - Workspace-based access control
 * - Rate limiting protection
 */
export declare class FullEnrichBubble<T extends FullEnrichParamsInput = FullEnrichParamsInput> extends ServiceBubble<T, Extract<FullEnrichResult, {
    operation: T['operation'];
}>> {
    static readonly type: "service";
    static readonly service = "fullenrich";
    static readonly authType: "apikey";
    static readonly bubbleName = "fullenrich";
    static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"start_bulk_enrichment">;
        name: import("zod").ZodString;
        webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
        contacts: import("zod").ZodArray<import("zod").ZodObject<{
            firstname: import("zod").ZodOptional<import("zod").ZodString>;
            lastname: import("zod").ZodOptional<import("zod").ZodString>;
            domain: import("zod").ZodOptional<import("zod").ZodString>;
            company_name: import("zod").ZodOptional<import("zod").ZodString>;
            linkedin_url: import("zod").ZodOptional<import("zod").ZodString>;
            enrich_fields: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["contact.emails", "contact.personal_emails"]>, "many">>>;
            custom: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
        }, "strip", import("zod").ZodTypeAny, {
            enrich_fields: ("contact.emails" | "contact.personal_emails")[];
            custom?: Record<string, string> | undefined;
            domain?: string | undefined;
            linkedin_url?: string | undefined;
            firstname?: string | undefined;
            lastname?: string | undefined;
            company_name?: string | undefined;
        }, {
            custom?: Record<string, string> | undefined;
            domain?: string | undefined;
            linkedin_url?: string | undefined;
            firstname?: string | undefined;
            lastname?: string | undefined;
            company_name?: string | undefined;
            enrich_fields?: ("contact.emails" | "contact.personal_emails")[] | undefined;
        }>, "many">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        name: string;
        operation: "start_bulk_enrichment";
        contacts: {
            enrich_fields: ("contact.emails" | "contact.personal_emails")[];
            custom?: Record<string, string> | undefined;
            domain?: string | undefined;
            linkedin_url?: string | undefined;
            firstname?: string | undefined;
            lastname?: string | undefined;
            company_name?: string | undefined;
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        webhook_url?: string | undefined;
    }, {
        name: string;
        operation: "start_bulk_enrichment";
        contacts: {
            custom?: Record<string, string> | undefined;
            domain?: string | undefined;
            linkedin_url?: string | undefined;
            firstname?: string | undefined;
            lastname?: string | undefined;
            company_name?: string | undefined;
            enrich_fields?: ("contact.emails" | "contact.personal_emails")[] | undefined;
        }[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        webhook_url?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_enrichment_result">;
        enrichment_id: import("zod").ZodString;
        force_results: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_enrichment_result";
        enrichment_id: string;
        force_results: boolean;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_enrichment_result";
        enrichment_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        force_results?: boolean | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"start_reverse_email_lookup">;
        name: import("zod").ZodString;
        webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
        emails: 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, {
        name: string;
        operation: "start_reverse_email_lookup";
        emails: string[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        webhook_url?: string | undefined;
    }, {
        name: string;
        operation: "start_reverse_email_lookup";
        emails: string[];
        credentials?: Partial<Record<CredentialType, string>> | undefined;
        webhook_url?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_reverse_email_result">;
        reverse_email_id: import("zod").ZodString;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_reverse_email_result";
        reverse_email_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_reverse_email_result";
        reverse_email_id: string;
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_credit_balance">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "get_credit_balance";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "get_credit_balance";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"check_api_key">;
        credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
    }, "strip", import("zod").ZodTypeAny, {
        operation: "check_api_key";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }, {
        operation: "check_api_key";
        credentials?: Partial<Record<CredentialType, string>> | undefined;
    }>]>;
    static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"start_bulk_enrichment">;
        success: import("zod").ZodBoolean;
        enrichment_id: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "start_bulk_enrichment";
        enrichment_id?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "start_bulk_enrichment";
        enrichment_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_enrichment_result">;
        success: import("zod").ZodBoolean;
        id: import("zod").ZodOptional<import("zod").ZodString>;
        name: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["CREATED", "IN_PROGRESS", "CANCELED", "CREDITS_INSUFFICIENT", "FINISHED", "RATE_LIMIT", "UNKNOWN"]>>;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            custom: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
            contact: import("zod").ZodOptional<import("zod").ZodObject<{
                firstname: import("zod").ZodOptional<import("zod").ZodString>;
                lastname: import("zod").ZodOptional<import("zod").ZodString>;
                domain: import("zod").ZodOptional<import("zod").ZodString>;
                most_probable_email: import("zod").ZodOptional<import("zod").ZodString>;
                most_probable_personal_email: import("zod").ZodOptional<import("zod").ZodString>;
                emails: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    email: import("zod").ZodOptional<import("zod").ZodString>;
                    status: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    status?: string | undefined;
                    email?: string | undefined;
                }, {
                    status?: string | undefined;
                    email?: string | undefined;
                }>, "many">>;
                personal_emails: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    email: import("zod").ZodOptional<import("zod").ZodString>;
                    status: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    status?: string | undefined;
                    email?: string | undefined;
                }, {
                    status?: string | undefined;
                    email?: string | undefined;
                }>, "many">>;
                most_probable_phone: import("zod").ZodOptional<import("zod").ZodString>;
                phones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    phone: import("zod").ZodOptional<import("zod").ZodString>;
                    region: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    phone?: string | undefined;
                    region?: string | undefined;
                }, {
                    phone?: string | undefined;
                    region?: string | undefined;
                }>, "many">>;
                social_medias: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    url: import("zod").ZodOptional<import("zod").ZodString>;
                    type: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    type?: string | undefined;
                    url?: string | undefined;
                }, {
                    type?: string | undefined;
                    url?: string | undefined;
                }>, "many">>;
                profile: import("zod").ZodOptional<import("zod").ZodObject<{
                    linkedin_url: import("zod").ZodOptional<import("zod").ZodString>;
                    linkedin_id: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>>, string | undefined, string | number | undefined>;
                    linkedin_handle: import("zod").ZodOptional<import("zod").ZodString>;
                    headline: import("zod").ZodOptional<import("zod").ZodString>;
                    location: import("zod").ZodOptional<import("zod").ZodString>;
                    current_position: import("zod").ZodOptional<import("zod").ZodObject<{
                        title: import("zod").ZodOptional<import("zod").ZodString>;
                        company: import("zod").ZodOptional<import("zod").ZodObject<{
                            name: import("zod").ZodOptional<import("zod").ZodString>;
                            domain: import("zod").ZodOptional<import("zod").ZodString>;
                            linkedin_url: import("zod").ZodOptional<import("zod").ZodString>;
                            linkedin_id: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>>, string | undefined, string | number | undefined>;
                            industry: import("zod").ZodOptional<import("zod").ZodString>;
                            headquarters: import("zod").ZodOptional<import("zod").ZodObject<{
                                city: import("zod").ZodOptional<import("zod").ZodString>;
                                country: import("zod").ZodOptional<import("zod").ZodString>;
                            }, "strip", import("zod").ZodTypeAny, {
                                country?: string | undefined;
                                city?: string | undefined;
                            }, {
                                country?: string | undefined;
                                city?: string | undefined;
                            }>>;
                        }, "strip", import("zod").ZodTypeAny, {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        }, {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        }>>;
                        start_date: import("zod").ZodOptional<import("zod").ZodString>;
                        end_date: import("zod").ZodOptional<import("zod").ZodString>;
                    }, "strip", import("zod").ZodTypeAny, {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    }, {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    }>>;
                }, "strip", import("zod").ZodTypeAny, {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                }, {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                }>>;
            }, "strip", import("zod").ZodTypeAny, {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            }, {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            }>>;
        }, "strip", import("zod").ZodTypeAny, {
            custom?: Record<string, string> | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }, {
            custom?: Record<string, string> | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }>, "many">>;
        cost: import("zod").ZodOptional<import("zod").ZodObject<{
            credits: import("zod").ZodOptional<import("zod").ZodNumber>;
        }, "strip", import("zod").ZodTypeAny, {
            credits?: number | undefined;
        }, {
            credits?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_enrichment_result";
        status?: "CREATED" | "IN_PROGRESS" | "CANCELED" | "CREDITS_INSUFFICIENT" | "FINISHED" | "RATE_LIMIT" | "UNKNOWN" | undefined;
        name?: string | undefined;
        id?: string | undefined;
        cost?: {
            credits?: number | undefined;
        } | undefined;
        results?: {
            custom?: Record<string, string> | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_enrichment_result";
        status?: "CREATED" | "IN_PROGRESS" | "CANCELED" | "CREDITS_INSUFFICIENT" | "FINISHED" | "RATE_LIMIT" | "UNKNOWN" | undefined;
        name?: string | undefined;
        id?: string | undefined;
        cost?: {
            credits?: number | undefined;
        } | undefined;
        results?: {
            custom?: Record<string, string> | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"start_reverse_email_lookup">;
        success: import("zod").ZodBoolean;
        enrichment_id: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "start_reverse_email_lookup";
        enrichment_id?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "start_reverse_email_lookup";
        enrichment_id?: string | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_reverse_email_result">;
        success: import("zod").ZodBoolean;
        id: import("zod").ZodOptional<import("zod").ZodString>;
        name: import("zod").ZodOptional<import("zod").ZodString>;
        status: import("zod").ZodOptional<import("zod").ZodEnum<["CREATED", "IN_PROGRESS", "CANCELED", "CREDITS_INSUFFICIENT", "FINISHED", "RATE_LIMIT", "UNKNOWN"]>>;
        results: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
            input: import("zod").ZodOptional<import("zod").ZodString>;
            contact: import("zod").ZodOptional<import("zod").ZodObject<{
                firstname: import("zod").ZodOptional<import("zod").ZodString>;
                lastname: import("zod").ZodOptional<import("zod").ZodString>;
                domain: import("zod").ZodOptional<import("zod").ZodString>;
                most_probable_email: import("zod").ZodOptional<import("zod").ZodString>;
                most_probable_personal_email: import("zod").ZodOptional<import("zod").ZodString>;
                emails: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    email: import("zod").ZodOptional<import("zod").ZodString>;
                    status: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    status?: string | undefined;
                    email?: string | undefined;
                }, {
                    status?: string | undefined;
                    email?: string | undefined;
                }>, "many">>;
                personal_emails: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    email: import("zod").ZodOptional<import("zod").ZodString>;
                    status: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    status?: string | undefined;
                    email?: string | undefined;
                }, {
                    status?: string | undefined;
                    email?: string | undefined;
                }>, "many">>;
                most_probable_phone: import("zod").ZodOptional<import("zod").ZodString>;
                phones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    phone: import("zod").ZodOptional<import("zod").ZodString>;
                    region: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    phone?: string | undefined;
                    region?: string | undefined;
                }, {
                    phone?: string | undefined;
                    region?: string | undefined;
                }>, "many">>;
                social_medias: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
                    url: import("zod").ZodOptional<import("zod").ZodString>;
                    type: import("zod").ZodOptional<import("zod").ZodString>;
                }, "strip", import("zod").ZodTypeAny, {
                    type?: string | undefined;
                    url?: string | undefined;
                }, {
                    type?: string | undefined;
                    url?: string | undefined;
                }>, "many">>;
                profile: import("zod").ZodOptional<import("zod").ZodObject<{
                    linkedin_url: import("zod").ZodOptional<import("zod").ZodString>;
                    linkedin_id: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>>, string | undefined, string | number | undefined>;
                    linkedin_handle: import("zod").ZodOptional<import("zod").ZodString>;
                    headline: import("zod").ZodOptional<import("zod").ZodString>;
                    location: import("zod").ZodOptional<import("zod").ZodString>;
                    current_position: import("zod").ZodOptional<import("zod").ZodObject<{
                        title: import("zod").ZodOptional<import("zod").ZodString>;
                        company: import("zod").ZodOptional<import("zod").ZodObject<{
                            name: import("zod").ZodOptional<import("zod").ZodString>;
                            domain: import("zod").ZodOptional<import("zod").ZodString>;
                            linkedin_url: import("zod").ZodOptional<import("zod").ZodString>;
                            linkedin_id: import("zod").ZodEffects<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>>, string | undefined, string | number | undefined>;
                            industry: import("zod").ZodOptional<import("zod").ZodString>;
                            headquarters: import("zod").ZodOptional<import("zod").ZodObject<{
                                city: import("zod").ZodOptional<import("zod").ZodString>;
                                country: import("zod").ZodOptional<import("zod").ZodString>;
                            }, "strip", import("zod").ZodTypeAny, {
                                country?: string | undefined;
                                city?: string | undefined;
                            }, {
                                country?: string | undefined;
                                city?: string | undefined;
                            }>>;
                        }, "strip", import("zod").ZodTypeAny, {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        }, {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        }>>;
                        start_date: import("zod").ZodOptional<import("zod").ZodString>;
                        end_date: import("zod").ZodOptional<import("zod").ZodString>;
                    }, "strip", import("zod").ZodTypeAny, {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    }, {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    }>>;
                }, "strip", import("zod").ZodTypeAny, {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                }, {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                }>>;
            }, "strip", import("zod").ZodTypeAny, {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            }, {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            }>>;
        }, "strip", import("zod").ZodTypeAny, {
            input?: string | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }, {
            input?: string | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }>, "many">>;
        cost: import("zod").ZodOptional<import("zod").ZodObject<{
            credits: import("zod").ZodOptional<import("zod").ZodNumber>;
        }, "strip", import("zod").ZodTypeAny, {
            credits?: number | undefined;
        }, {
            credits?: number | undefined;
        }>>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_reverse_email_result";
        status?: "CREATED" | "IN_PROGRESS" | "CANCELED" | "CREDITS_INSUFFICIENT" | "FINISHED" | "RATE_LIMIT" | "UNKNOWN" | undefined;
        name?: string | undefined;
        id?: string | undefined;
        cost?: {
            credits?: number | undefined;
        } | undefined;
        results?: {
            input?: string | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }[] | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_reverse_email_result";
        status?: "CREATED" | "IN_PROGRESS" | "CANCELED" | "CREDITS_INSUFFICIENT" | "FINISHED" | "RATE_LIMIT" | "UNKNOWN" | undefined;
        name?: string | undefined;
        id?: string | undefined;
        cost?: {
            credits?: number | undefined;
        } | undefined;
        results?: {
            input?: string | undefined;
            contact?: {
                profile?: {
                    location?: string | undefined;
                    headline?: string | undefined;
                    linkedin_url?: string | undefined;
                    linkedin_id?: string | number | undefined;
                    linkedin_handle?: string | undefined;
                    current_position?: {
                        title?: string | undefined;
                        company?: {
                            name?: string | undefined;
                            domain?: string | undefined;
                            linkedin_url?: string | undefined;
                            linkedin_id?: string | number | undefined;
                            industry?: string | undefined;
                            headquarters?: {
                                country?: string | undefined;
                                city?: string | undefined;
                            } | undefined;
                        } | undefined;
                        start_date?: string | undefined;
                        end_date?: string | undefined;
                    } | undefined;
                } | undefined;
                domain?: string | undefined;
                emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                phones?: {
                    phone?: string | undefined;
                    region?: string | undefined;
                }[] | undefined;
                firstname?: string | undefined;
                lastname?: string | undefined;
                most_probable_email?: string | undefined;
                most_probable_personal_email?: string | undefined;
                personal_emails?: {
                    status?: string | undefined;
                    email?: string | undefined;
                }[] | undefined;
                most_probable_phone?: string | undefined;
                social_medias?: {
                    type?: string | undefined;
                    url?: string | undefined;
                }[] | undefined;
            } | undefined;
        }[] | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"get_credit_balance">;
        success: import("zod").ZodBoolean;
        balance: import("zod").ZodOptional<import("zod").ZodNumber>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "get_credit_balance";
        balance?: number | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "get_credit_balance";
        balance?: number | undefined;
    }>, import("zod").ZodObject<{
        operation: import("zod").ZodLiteral<"check_api_key">;
        success: import("zod").ZodBoolean;
        workspace_id: import("zod").ZodOptional<import("zod").ZodString>;
        error: import("zod").ZodString;
    }, "strip", import("zod").ZodTypeAny, {
        error: string;
        success: boolean;
        operation: "check_api_key";
        workspace_id?: string | undefined;
    }, {
        error: string;
        success: boolean;
        operation: "check_api_key";
        workspace_id?: string | undefined;
    }>]>;
    static readonly shortDescription = "B2B contact enrichment for emails, phones, and LinkedIn data";
    static readonly longDescription = "\n    FullEnrich B2B contact enrichment service for finding work emails,\n    mobile phones, and personal emails from contact information or LinkedIn profiles.\n\n    Features:\n    - Bulk enrichment for up to 100 contacts at once\n    - Reverse email lookup to find contact info from email addresses\n    - LinkedIn profile enrichment for enhanced data (+5-20% better email rates, +10-60% better phone rates)\n    - Webhook support for real-time result delivery\n    - Credit-based pricing with balance tracking\n\n    Use cases:\n    - Enrich leads with work emails and phone numbers\n    - Build sales prospecting pipelines\n    - Verify and update CRM contact data\n    - Find decision makers from LinkedIn profiles\n\n    Credit Costs:\n    - Work email: 1 credit\n    - Personal email: 3 credits\n    - Mobile phone: 10 credits\n    - Reverse email lookup: 1 credit per match\n\n    Security Features:\n    - API key authentication (Bearer token)\n    - Workspace-based access control\n    - Rate limiting protection\n  ";
    static readonly alias = "enrich";
    private static readonly BASE_URL;
    constructor(params?: T, context?: BubbleContext, instanceId?: string);
    /**
     * Test if the API key is valid
     */
    testCredential(): Promise<boolean>;
    /**
     * Make an API request to FullEnrich
     */
    private makeApiRequest;
    /**
     * Main action handler - routes to appropriate operation
     */
    protected performAction(context?: BubbleContext): Promise<Extract<FullEnrichResult, {
        operation: T['operation'];
    }>>;
    /**
     * Start bulk enrichment for contacts
     */
    private startBulkEnrichment;
    /**
     * Get enrichment result by ID
     */
    private getEnrichmentResult;
    /**
     * Start reverse email lookup
     */
    private startReverseEmailLookup;
    /**
     * Get reverse email lookup result
     */
    private getReverseEmailResult;
    /**
     * Get current credit balance
     */
    private getCreditBalance;
    /**
     * Check if API key is valid
     */
    private checkApiKey;
    /**
     * Choose the appropriate credential for FullEnrich
     */
    protected chooseCredential(): string | undefined;
}
//# sourceMappingURL=fullenrich.d.ts.map