import { ApplyVoucherParams, IPropertiesToAdd, ResetVoucherParams, ValidateVoucherParams, VoucherPageLoadParams, VoucherServiceInterface } from '../voucher';
export declare class VoucherService implements VoucherServiceInterface {
    validateVoucher<PAYMENT_METHODS>({ query, headers, host, voucher, paymentMethod, }: ValidateVoucherParams<PAYMENT_METHODS>): Promise<Record<string, unknown>>;
    applyVoucher<PAYMENT_METHODS>({ query, body, host, headers, }: ApplyVoucherParams<PAYMENT_METHODS>): Promise<Record<string, unknown>>;
    resetVoucher<PAYMENT_METHODS>({ query, headers, host, paymentMethod, }: ResetVoucherParams<PAYMENT_METHODS>): Promise<Record<string, unknown>>;
    voucherPageLoad<ICheckoutState, PAYMENT_METHODS>({ query, headers, data, }: VoucherPageLoadParams<IPropertiesToAdd<ICheckoutState, PAYMENT_METHODS>>): Promise<ICheckoutState>;
    private invalidVoucher;
}
export declare const voucherService: VoucherService;
