import { UseCustomerParams } from './useCustomerProvider.mjs';
import { A as AutumnError } from '../error-CG2LXoa7.mjs';
import { b as Customer } from '../cusTypes-Cf-s9PYP.mjs';
import { E as Entity } from '../entTypes-CV-165S-.mjs';
import { A as AutumnPromise } from '../response-B5dHU3I9.mjs';
import { C as CreateReferralCodeResult, R as RedeemReferralCodeResult } from '../ReactAutumnClient-BQtmw21U.mjs';
import { CreateEntityParams } from '../client/types/clientEntTypes.mjs';
import { CreateReferralCodeParams, RedeemReferralCodeParams } from '../client/types/clientReferralTypes.mjs';
import '../client/types/clientGenTypes.mjs';

interface UseCustomerResult {
    customer: Customer | null;
    isLoading: boolean;
    error: AutumnError | null;
    refetch: () => Promise<void>;
    createEntity: (params: CreateEntityParams | CreateEntityParams[]) => AutumnPromise<Entity | Entity[]>;
    createReferralCode: (params: CreateReferralCodeParams) => AutumnPromise<CreateReferralCodeResult>;
    redeemReferralCode: (params: RedeemReferralCodeParams) => AutumnPromise<RedeemReferralCodeResult>;
}
declare const useCustomer: (params?: UseCustomerParams) => UseCustomerResult;

export { useCustomer };
