///
import { UseFormReturn } from 'react-hook-form';
import { ComponentProduct, ElasticPathBundleProduct } from '../types';
import { BundleFormData } from '../schemas/bundleSchema';
interface UseBundleFormProps {
components: Record;
bundleProduct?: ElasticPathBundleProduct;
defaultConfiguration?: string;
onSubmit?: (data: BundleFormData) => void;
}
interface UseBundleFormReturn {
form: UseFormReturn;
selectedOptions: BundleFormData;
isValid: boolean;
errors: Record;
handleComponentSelection: (componentKey: string, optionId: string, quantity: number, variationId?: string) => void;
handleSubmit: (callback?: (data: BundleFormData) => void) => (e?: React.BaseSyntheticEvent) => Promise;
reset: () => void;
}
/**
* Hook for managing bundle form state with Zod validation
* Replaces useFormContext dependency with self-contained form management
*/
export declare function useBundleForm({ components, bundleProduct, defaultConfiguration, onSubmit, }: UseBundleFormProps): UseBundleFormReturn;
/**
* Helper hook for getting API-formatted selections from form data
*/
export declare function useApiFormattedSelections(selectedOptions: BundleFormData): Record>;
export {};