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

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 };
