import { UTXOs } from '../bitcoin/UTXOs.js';
import { AbstractRpcProvider } from '../providers/AbstractRpcProvider.js';
import { RequestUTXOsParams, RequestUTXOsParamsWithAmount } from './interfaces/IUTXOsManager.js';
export declare class UTXOsManager {
    private readonly provider;
    private dataByAddress;
    constructor(provider: AbstractRpcProvider);
    spentUTXO(address: string, spent: UTXOs, newUTXOs: UTXOs): void;
    getPendingUTXOs(address: string): UTXOs;
    clean(address?: string): void;
    getUTXOs({ address, optimize, mergePendingUTXOs, filterSpentUTXOs, }: RequestUTXOsParams): Promise<UTXOs>;
    getUTXOsForAmount({ address, amount, optimize, mergePendingUTXOs, filterSpentUTXOs, throwErrors, }: RequestUTXOsParamsWithAmount): Promise<UTXOs>;
    private getAddressData;
    private maybeFetchUTXOs;
    private fetchUTXOs;
    private syncPendingDepthWithFetched;
}
