/**
 * @type { ActionEnum }
 * @description Action type
 */
export type ActionEnum = 'initiatePayments';
export declare function decodeActionEnum(rawInput: unknown): ActionEnum | null;
/**
 * @type { InitiatePayloadData }
 */
export type InitiatePayloadData = {
    /**
     * @description Merchant identifier
     * @type { string }
     * @memberof InitiatePayloadData
     */
    merchantId: string;
    /**
     * @description Shop URL
     * @type { string }
     * @memberof InitiatePayloadData
     */
    shopUrl: string;
    /**
     * @description Authentication token
     * @type { string }
     * @memberof InitiatePayloadData
     */
    authToken: string;
};
export declare function decodeInitiatePayloadData(rawInput: unknown): InitiatePayloadData | null;
/**
 * @type { InitiatePaymentsPayload }
 */
export type InitiatePaymentsPayload = {
    /**
     * @description Cart information
     * @type { InitiatePaymentsPayloadCart }
     * @memberof InitiatePaymentsPayload
     */
    cart: InitiatePaymentsPayloadCart;
    /**
     * @description Customer information
     * @type { InitiatePaymentsPayloadCustomer }
     * @memberof InitiatePaymentsPayload
     */
    customer: InitiatePaymentsPayloadCustomer | null;
    /**
     * @description Address information
     * @type { InitiatePaymentsPayloadAddress }
     * @memberof InitiatePaymentsPayload
     */
    address: InitiatePaymentsPayloadAddress | null;
    /**
     * @description Additional parameters (e.g. subMerchantId) to pass along with the payment
     * @type { InitiatePaymentsPayloadAdditionalParams }
     * @memberof InitiatePaymentsPayload
     */
    additionalParams: InitiatePaymentsPayloadAdditionalParams | null;
};
export declare function decodeInitiatePaymentsPayload(rawInput: unknown): InitiatePaymentsPayload | null;
/**
 * @type { InitiatePaymentsPayloadCart }
 * @description Cart information
 */
export type InitiatePaymentsPayloadCart = Record<string, unknown>;
export declare function decodeInitiatePaymentsPayloadCart(rawInput: unknown): InitiatePaymentsPayloadCart | null;
/**
 * @type { InitiatePaymentsPayloadCustomer }
 * @description Customer information
 */
export type InitiatePaymentsPayloadCustomer = Record<string, unknown>;
export declare function decodeInitiatePaymentsPayloadCustomer(rawInput: unknown): InitiatePaymentsPayloadCustomer | null;
/**
 * @type { InitiatePaymentsPayloadAddress }
 * @description Address information
 */
export type InitiatePaymentsPayloadAddress = Record<string, unknown>;
export declare function decodeInitiatePaymentsPayloadAddress(rawInput: unknown): InitiatePaymentsPayloadAddress | null;
/**
 * @type { InitiatePaymentsPayloadAdditionalParams }
 * @description Additional parameters (e.g. subMerchantId) to pass along with the payment
 */
export type InitiatePaymentsPayloadAdditionalParams = Record<string, unknown>;
export declare function decodeInitiatePaymentsPayloadAdditionalParams(rawInput: unknown): InitiatePaymentsPayloadAdditionalParams | null;
/**
 * @type { GeneratePaymentLinkResponse }
 */
export type GeneratePaymentLinkResponse = {
    /**
     * @description URL to redirect user for payment
     * @type { string }
     * @memberof GeneratePaymentLinkResponse
     */
    redirectionUrl: string;
};
export declare function decodeGeneratePaymentLinkResponse(rawInput: unknown): GeneratePaymentLinkResponse | null;
/**
 * @type { ErrorResponse }
 */
export type ErrorResponse = {
    /**
     * @description Error status
     * @type { string }
     * @memberof ErrorResponse
     */
    status: string;
    /**
     * @description Error message
     * @type { string }
     * @memberof ErrorResponse
     */
    message: string;
};
export declare function decodeErrorResponse(rawInput: unknown): ErrorResponse | null;
