import { IBookingCreateErrorResponse, ReservationsDTO } from '@roomstay/core';
import { PaymentHandler } from '../../handlers/payment/PaymentHandler';
export type ConfirmationValidator = {
    message: string;
    name: string;
    validate: (scrollToInput?: boolean) => boolean;
};
export interface ConfirmationContextProps {
    onContinueClick: () => Promise<void>;
    commitReservation?: (resData: ReservationsDTO, statusUpdate?: string) => Promise<void>;
    rollbackReservation?: () => Promise<void>;
    redirectOut: (target: string, statusUpdate?: string) => void;
    setLoadingStatus: (status: string) => void;
    bookingSource?: string;
    isLoading?: boolean;
    isBackFromPlanpay?: boolean;
    isBackFromExternalPayment?: boolean;
    apiErrorResponse?: IBookingCreateErrorResponse;
    isInPaymentMode: boolean;
    availablePaymentHandlers: PaymentHandler[];
    errorChecks: (() => ConfirmationValidator)[];
    addErrorChecks: (...checks: (() => ConfirmationValidator)[]) => void;
}
