import type { BkmCreateType, PaymentRetrieveType, PaymentRefundType, PaymentCancelType, CheckoutFormCreateType, CheckoutFormRetrieveType, BinCheckType, BkmRetrieveType, Payment3DSecureCreateType, Payment3DSecureRetrieveType, PaymentCreateType, IyziposRetrieveInstallmentInfoType, ApmCreateType, ApmRetrieveType, IyziposCreateApprovalType } from "../types/models";
import { baseClient } from "../client";
/**
 * @dev EN:
 * @dev TR:
 * @param client
 * @returns
 */
export default function (client: ReturnType<typeof baseClient>): {
    /**
     *
     */
    apm: {
        /**
         *
         * @param payload
         * @returns
         */
        create: (payload: ApmCreateType) => Promise<any>;
        /**
         *
         * @param payload
         * @returns
         */
        retrieve: (payload: ApmRetrieveType) => Promise<any>;
    };
    /**
     * @dev EN: Checks the BIN number of a card from the first 6 digits of the card
     * @dev TR: Kartın ilk 6 hanesinden BIN numarasını kontrol eder
     */
    binCheck: (payload: BinCheckType) => Promise<any>;
    /**
     * @dev EN: Creates BKM payment
     * @dev TR:
     */
    bkm: {
        /**
         * @dev EN: Creates a BKM payment
         * @dev TR: Bir BKM ödemesi oluşturur
         * @param payload
         * @returns
         */
        create: (payload: BkmCreateType) => Promise<any>;
        /**
         *
         * @param payload
         * @returns
         */
        retrieve: (payload: BkmRetrieveType) => Promise<any>;
    };
    /**
     * @dev EN:
     * @dev TR:
     * @param payload
     */
    create: (payload: PaymentCreateType) => Promise<any>;
    /**
     *
     * @param payload
     * @returns
     */
    retrieve: (payload: PaymentRetrieveType) => Promise<any>;
    /**
     *
     * @param payload
     * @returns
     */
    refund: (payload: PaymentRefundType) => Promise<any>;
    /**
     *
     * @param payload
     * @returns
     */
    cancel: (payload: PaymentCancelType) => Promise<any>;
    threeDSecure: {
        create: (payload: Payment3DSecureCreateType) => Promise<any>;
        retrieve: (payload: Payment3DSecureRetrieveType) => Promise<any>;
    };
    iyzipos: {
        /**
         *
         * @param payload
         * @returns
         */
        createApproval: (payload: IyziposCreateApprovalType) => Promise<any>;
        retrieveInstallmentInfo: (payload: IyziposRetrieveInstallmentInfoType) => Promise<any>;
    };
    /**
     *
     */
    checkoutForm: {
        /**
         *
         * @param payload
         * @returns
         */
        create: (payload: CheckoutFormCreateType) => Promise<any>;
        /**
         * @dev WARNING! This method isn't working properly.
         * @param payload
         * @returns
         */
        retrieve: (payload: CheckoutFormRetrieveType) => Promise<any>;
    };
};
//# sourceMappingURL=payments.d.ts.map