import { ethers } from 'ethers';
import { InitialOrder, OrderDetails, OrderMatchedEvent, OrderUpdateAcceptedEvent, OrderUpdatedEvent } from './types';
import { NetworkType, RpcUrls } from '@config/index';
import { SmartWalletBundlerClient } from '@utils/smart-wallet';
export declare class OrderModule {
    private smartWalletBundlerClientPromise?;
    private provider;
    private createTimeoutId;
    private updateTimeoutId;
    private wallet;
    private networkType;
    private rpcUrls;
    constructor(provider: ethers.Provider, wallet?: ethers.Wallet, networkType?: NetworkType, smartWalletBundlerClientPromise?: Promise<SmartWalletBundlerClient> | undefined, rpcUrls?: RpcUrls);
    createOrder(orderDetails: OrderDetails): Promise<string | null>;
    createOrderWithPaymaster(orderDetails: OrderDetails): Promise<string | null>;
    updateOrder(orderId: string, orderDetails: OrderDetails): Promise<string | null>;
    updateOrderWithPaymaster(orderId: string, orderDetails: OrderDetails): Promise<string | null>;
    getOrderDetails(leaseId: string): Promise<InitialOrder>;
    listenToOrderCreated(timeoutTime: number | undefined, onSuccessCallback: (leaseId: string, providerAddress: string, fizzId: string | number | bigint, providerId: string | number | bigint, acceptedPrice: string | number | bigint, creatorAddress: string) => void, onFailureCallback: () => void): Promise<OrderMatchedEvent>;
    listenToOrderUpdated(timeoutTime: number | undefined, onSuccessCallback: (leaseId: string, providerAddress: string, tenantAddress?: string, acceptedPrice?: string) => void, onFailureCallback: () => void): Promise<OrderUpdatedEvent>;
    listenToOrderUpdateAccepted(timeoutTime: number | undefined, onSuccessCallback: (leaseId: string, providerAddress: string) => void, onFailureCallback: () => void): Promise<OrderUpdateAcceptedEvent>;
}
//# sourceMappingURL=index.d.ts.map