import { IExecuteFunctions, ILoadOptionsFunctions, IDataObject } from 'n8n-workflow';
export interface ContactPayload extends IDataObject {
    name: string;
    company_name?: string;
    email?: string;
    phone?: string;
    website?: string;
    currency_code?: string;
    opening_balance?: number;
    billing_address?: {
        address?: string;
        city?: string;
        state?: string;
        zip?: string;
        country?: string;
    };
    shipping_address?: {
        address?: string;
        city?: string;
        state?: string;
        zip?: string;
        country?: string;
    };
    custom_fields?: IDataObject;
}
export interface NormalizedContact {
    contactId: string;
    name: string;
    companyName?: string;
    email?: string;
    phone?: string;
    website?: string;
    currencyCode?: string;
    openingBalance?: number;
    billingAddress?: {
        street?: string;
        city?: string;
        state?: string;
        zip?: string;
        country?: string;
    };
    shippingAddress?: {
        street?: string;
        city?: string;
        state?: string;
        zip?: string;
        country?: string;
    };
    customFields?: IDataObject;
    createdAt?: string;
    updatedAt?: string;
}
export declare function buildContactPayload(params: IDataObject): ContactPayload;
export declare function normalizeContact(rawContact: any): NormalizedContact;
export declare function createContact(this: IExecuteFunctions | ILoadOptionsFunctions, payload: ContactPayload): Promise<any>;
export declare function getContact(this: IExecuteFunctions | ILoadOptionsFunctions, contactId: string): Promise<any>;
export declare function getAllContacts(this: IExecuteFunctions | ILoadOptionsFunctions, returnAll?: boolean, limit?: number, updatedAfter?: string): Promise<any[]>;
export declare function updateContact(this: IExecuteFunctions | ILoadOptionsFunctions, contactId: string, payload: ContactPayload): Promise<any>;
export declare function deleteContact(this: IExecuteFunctions | ILoadOptionsFunctions, contactId: string): Promise<any>;
export declare function searchContactsByName(this: IExecuteFunctions | ILoadOptionsFunctions, searchName: string): Promise<any[]>;
//# sourceMappingURL=ContactsUtils.d.ts.map