import { ethers } from 'ethers';
import { Lease, LeaseState, LeaseWithOrderDetails } from './types';
export declare class LeaseModule {
    private provider;
    private orderModule;
    private fizzModule;
    private providerModule;
    private websocketProvider?;
    private leaseCloseTimeoutId;
    private wallet;
    constructor(provider: ethers.Provider, websocketProvider?: ethers.WebSocketProvider, wallet?: ethers.Wallet);
    getLeaseDetails(leaseId: string): Promise<Lease>;
    getLeaseIds(address: string): Promise<{
        activeLeaseIds: string[];
        allLeaseIds: string[];
        terminatedLeaseIds: string[];
    }>;
    getLeasesByState(address: string, options?: {
        state?: LeaseState;
        page?: number;
        pageSize?: number;
    }): Promise<{
        leases: LeaseWithOrderDetails[];
        activeCount: number;
        terminatedCount: number;
        totalCount: number;
    }>;
    closeLease(leaseId: string): Promise<any>;
    listenToLeaseClosedEvent(onSuccessCallback: ({ orderId, providerAddress, tenantAddress, }: {
        orderId: string;
        providerAddress: string;
        tenantAddress: string;
    }) => void, onFailureCallback: () => void, timeout?: number): Promise<unknown>;
}
//# sourceMappingURL=index.d.ts.map