import { PendingTransfer as PendingTransferS } from 'raiden-swagger-sdk';
import { Observable } from 'rxjs';
import { Configuration, PendingTransfersApi } from './apis';
export declare enum PendingTransferRoleEnum {
    Initiator = "initiator",
    Mediator = "mediator",
    Target = "target"
}
export interface PendingTransfer extends PendingTransferS {
    role: PendingTransferRoleEnum;
}
export interface QueryPendingTransfersFilter {
    channelAddress?: string;
}
export declare class PendingTransfers {
    private readonly pendingTransfersApi;
    static create(config?: Configuration): PendingTransfers;
    constructor(pendingTransfersApi: PendingTransfersApi);
    /**
     * All transfers that have not been completed yet.
     *
     * @since 0.100.3
     * @throws {@link RaidenAPIError}
     * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-pending_transfers}
     */
    findAll(): Observable<ReadonlyArray<Readonly<PendingTransfer>>>;
    /**
     * All transfers that have not been completed yet for the specified token.
     *
     * @param tokenAddress - The address of the respective token
     * @param by - Additional filters for querying pending transfers
     *
     * @since 0.100.3
     * @throws {@link RaidenAPIError}
     * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-pending_transfers-(token_address)}
     * @see {@link https://raiden-network.readthedocs.io/en/latest/rest_api.html#get--api-(version)-pending_transfers-(token_address)-(partner_address)}
     */
    findAllFor(tokenAddress: string, by?: QueryPendingTransfersFilter): Observable<ReadonlyArray<PendingTransfer>>;
}
