import { IAssetDataStorage } from "../../../storage/assetDataStorage/assetDataStorage";
import { WalletAsset, WalletSubAccount } from "../../../types";
import { RemoveSubAccountForm } from "../../../types/forms/assets/removeSubAccountForm";
import { UpdateAssetForm } from "../../../types/forms/assets/updateAssetForm";
import { UpdateSubAccountForm } from "../../../types/forms/assets/updateSubAccountForm";
import { SupportedStandardEnum } from "../../../types/wallets/supportedStandardEnum";
export declare class AssetRepository {
    private assetDataStorage;
    constructor(assetDataStorage: IAssetDataStorage);
    getTokensOrDefault(): Promise<WalletAsset[]>;
    remove(ledgerAddress: string): Promise<void>;
    addSubAccount(subAccount: WalletSubAccount): Promise<void>;
    removeSubAccount(form: RemoveSubAccountForm): Promise<void>;
    updateSubAccount(form: UpdateSubAccountForm): Promise<void>;
    updateAsset(form: UpdateAssetForm): Promise<void>;
    isAssetExist(ledgerAddress: string): Promise<boolean>;
    getAssetNextIndex(): Promise<number>;
    getAssetOrDefault(ledgerAddress: string): Promise<WalletAsset | undefined>;
    private getAssetById;
    addAsset(asset: WalletAsset): Promise<void>;
    checkSupportedStandard(ledgerAddress: string, supportedStandard: SupportedStandardEnum): Promise<boolean>;
    private getDefaultTokens;
}
