import { GasParameters, Nullable, TransferDetails } from '@unilogin/commons';
import { DeployedWallet } from '../../api/wallet/DeployedWallet';
import { OnBalanceChange } from '../observers/BalanceObserver';
export declare type TransferErrors = Record<string, string[]>;
export declare class TransferService {
    deployedWallet: DeployedWallet;
    private errors;
    constructor(deployedWallet: DeployedWallet);
    transfer(transferDetails: TransferDetails): Promise<import("./ExecutionFactory").Execution>;
    validateInputs(transferDetails: TransferDetails, balance: Nullable<string>): Promise<Record<string, string[]>>;
    areInputsValid(): boolean;
    getMaxAmount(gasParameters: GasParameters, balance: Nullable<string>): string;
    getTokenDetails(tokenAddress: string): import("@unilogin/commons").TokenDetails;
    subscribeToBalances(callback: OnBalanceChange): Promise<() => void>;
}
//# sourceMappingURL=TransferService.d.ts.map