import { FabrixService as Service } from '@fabrix/fabrix/dist/common';
export declare class CustomerService extends Service {
    publish(type: any, event: any, options?: {
        save?: boolean;
        transaction?: any;
        include?: any;
    }): any;
    create(customer: any, options: any): any;
    update(customer: any, options: any): any;
    accountBalance(customer: any, options?: {
        [key: string]: any;
    }): any;
    addCart(customer: any, cart: any): any;
    removeCart(customer: any, cart: any): any;
    setDefaultCartForCustomer(customer: any, cart: any): any;
    addTag(customer: any, tag: any): any;
    removeTag(customer: any, tag: any): any;
    addCollections(customer: any, collections: any, options: any): any;
    addCollection(customer: any, collection: any, options?: {
        [key: string]: any;
    }): any;
    removeCollection(customer: any, collection: any, options?: {
        [key: string]: any;
    }): any;
    addAddress(customer: any, address: any, type: any, options?: {
        [key: string]: any;
    }): any;
    addCustomers(customer: any, customers: any, options?: {
        [key: string]: any;
    }): any;
    addCustomer(customer: any, subcustomer: any, options?: {
        [key: string]: any;
    }): any;
    removeCustomers(customer: any, customers: any, options?: {
        [key: string]: any;
    }): any;
    removeCustomer(customer: any, subcustomer: any, options?: {
        [key: string]: any;
    }): any;
    addUsers(customer: any, users: any, options?: {
        [key: string]: any;
    }): any;
    addUser(customer: any, user: any, options?: {
        [key: string]: any;
    }): any;
    inviteUser(customer: any, user: any, options?: {
        [key: string]: any;
    }): void;
    inviteUserAccepted(customer: any, user: any, options: any): void;
    removeUser(customer: any, user: any, options?: {
        [key: string]: any;
    }): any;
    updateAddress(customer: any, address: any, type: any, options: any): any;
    removeAddress(customer: any, address: any, options: any): any;
    setAddresses(customer: any, options: any): any;
    afterCreate(customer: any, options: any): any;
    afterUpdate(customer: any, options: any): Promise<any>;
    createCustomerSource(customer: any, source: any, options?: {}): any;
    findCustomerSource(customer: any, source: any, options?: {}): any;
    syncCustomerSources(customer: any, account: any, options?: {}): any;
    updateCustomerSource(customer: any, source: any, updates: any): any;
    enable(customer: any, options: any): any;
    disable(customer: any, options: any): any;
    removeCustomerSource(customer: any, source: any, options?: {}): any;
}
