import { CallbackIsPresent, CallbackParams, ModalDetailsOptions, SelectedDetail } from './types';
/**
 * @param options - This parameter is an object that contains several fields.
 *                  The keys of these fields represent the type of details that will be displayed on a modal.
 *                  - showDetails: An array of values that determine whether the details should be shown on the modal.
 *                                 If this field is undefined, it will be assumed to be true.
 *                  - callback?: An optional function that will be executed at the merchant level.
 *                               This function will receive a 'showModal' function as a parameter,
 *                               which allows the merchant to control when the modal appears.
 */
declare function useModalDetails<Options extends ModalDetailsOptions<any>>(options: Options): {
    selectedDetail: SelectedDetail<Options> | null;
    updateDetails: <T extends SelectedDetail<Options>>(state: T) => CallbackIsPresent<Options, Options, T> extends true ? CallbackParams<Options, Options, T> : object;
    detailsToShow: { [key in keyof Options]: boolean; };
    resetDetails: () => void;
};
export default useModalDetails;
//# sourceMappingURL=useModalDetails.d.ts.map