declare namespace IOrder {
    interface CreateOrderBeforeRequest {
        amount: string;
        orderId: string;
        orderType?: string;
        orders: Array<{
            amount: string;
            productId: string;
            productDescription: string;
            currency: string;
        }>;
        fullName?: string;
        fee?: string;
        country: string;
        currency: string;
        startDate: string;
        paymentReference: string;
        email: string;
        mobileNumber?: string;
        productDescription?: string | null;
        productId?: string | null;
        publicKey?: string;
    }
    interface CreateOrderAfterRequest {
        paymentReference: string;
        orders: Array<{
            amount: string;
            productId: string;
            productDescription: string;
            currency: string;
        }>;
        publicKey?: string;
    }
    interface GetOrdersRequest {
        publicKey?: string;
        query?: string;
    }
    interface GetOrdersByReferenceRequest {
        paymentReference: string;
        publicKey?: string;
        query?: string;
    }
    interface Response {
        code: string;
        payments: {};
        message: string;
    }
    interface GetOrdersResponse {
        code: string;
        products: Array<{
            amount: string;
            productId: string;
            productDescription: string;
            currency: string;
        }>;
        message: string;
    }
    interface ResponseBeforePayment {
        code: string;
        products: Array<{
            amount: string;
            productId: string;
            productDescription: string;
            currency: string;
            paymentReference: string;
            orderId: string;
            createdAt: string;
            updatedAt: string;
        }>;
        message: string;
    }
}
