import { Contact } from "@skailan/contacts/dist/domain/entities/Contact";
import { Lead } from "../entities/Lead";
export interface ContactIntegrationService {
    /**
     * Sincroniza un Lead con el módulo de Contactos
     * Si el contacto no existe, lo crea. Si existe, lo actualiza.
     */
    syncLeadWithContact(lead: Lead): Promise<Contact>;
    /**
     * Busca un contacto existente basado en el email del lead
     */
    findContactByLeadEmail(email: string, organizationId: string): Promise<Contact | null>;
    /**
     * Convierte un Lead a un Contact
     */
    convertLeadToContact(lead: Lead): Contact;
    /**
     * Actualiza un Lead con información del Contact
     */
    updateLeadFromContact(lead: Lead, contact: Contact): Lead;
}
export declare class ContactIntegrationServiceImpl implements ContactIntegrationService {
    private contactsServiceUrl;
    constructor(contactsServiceUrl?: string);
    syncLeadWithContact(lead: Lead): Promise<Contact>;
    findContactByLeadEmail(email: string, organizationId: string): Promise<Contact | null>;
    convertLeadToContact(lead: Lead): Contact;
    updateLeadFromContact(lead: Lead, contact: Contact): Lead;
    private updateContactFromLead;
    private createContact;
    private updateContact;
}
//# sourceMappingURL=ContactIntegrationService.d.ts.map