import { P24Options } from './P24Options';
import { Order, Transaction } from '../orders';
import { NotificationRequest, Verification } from '../verify';
import { RefundRequest, RefundResult } from '../refund';
/**
 * Represents a P24 payment system
 *
 * @export
 * @class P24
 */
export declare class P24 {
    private client;
    private readonly baseUrl;
    private options;
    private readonly baseParameters;
    private isValidP24Options;
    /**
     * Creates an instance of Przelewy24.
     * @param {P24Options} [options={ sandbox: false }] - all necessary options
     * @memberof P24
     */
    constructor(options?: P24Options);
    /**
     * Test access to the service
     *
     * @returns {Promise<boolean>}
     * @throws {P24Error}
     * @memberof P24
     */
    testAccess(): Promise<boolean>;
    /**
     * Creates a transaction
     *
     * @param {Order} order - order to be created
     * @returns {Promise<Transaction>}
     * @throws {P24Error}
     * @memberof P24
     */
    createTransaction(order: Order): Promise<Transaction>;
    /**
     * Verify transaction
     *
     * @param {Verification} verification - verification request
     * @returns {Promise<boolean>}
     * @throws {P24Error}
     * @memberof P24
     */
    verifyTransaction(verification: Verification): Promise<boolean>;
    /**
     * Verify notification transaction with our CRC Key
     *
     * @param {NotificationRequest} notificationRequest
     * @returns {boolean}
     * @memberof P24
     */
    verifyNotification(notificationRequest: NotificationRequest): boolean;
    /**
     * Handle refund
     *
     * @param {RefundRequest} refundRequest
     * @returns {Promise<RefundResult[]>}
     * @memberof P24
     */
    refund(refundRequest: RefundRequest): Promise<RefundResult[]>;
    /**
     * Validates IP with P24 backends
     *
     * @static
     * @param {string} ip - IP Address
     * @returns {boolean} - true on validated ip
     * @memberof P24
     */
    static isIpValid(ip: string): boolean;
}
//# sourceMappingURL=P24.d.ts.map