import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { GetAddressesParams, DefaultAppTokenDefinition, GetUnderlyingTokensParams, UnderlyingTokenDefinition, GetPricePerShareParams, GetDataPropsParams } from '../../../position/template/app-token.template.types';
import { AbracadabraContractFactory, AbracadabraErc20Vault } from '../contracts';
export declare class OptimismAbracadabraErc20VaultsTokenFetcher extends AppTokenTemplatePositionFetcher<AbracadabraErc20Vault> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: AbracadabraContractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: AbracadabraContractFactory);
    getContract(address: string): AbracadabraErc20Vault;
    getAddresses({ multicall }: GetAddressesParams<DefaultAppTokenDefinition>): string[] | Promise<string[]>;
    getUnderlyingTokenDefinitions({ contract, }: GetUnderlyingTokensParams<AbracadabraErc20Vault, DefaultAppTokenDefinition>): Promise<UnderlyingTokenDefinition[]>;
    getPricePerShare({ multicall, address, appToken }: GetPricePerShareParams<AbracadabraErc20Vault>): Promise<number[]>;
    getLiquidity({ multicall, address, appToken }: GetDataPropsParams<AbracadabraErc20Vault>): Promise<number>;
    getReserves({ multicall, address, appToken }: GetDataPropsParams<AbracadabraErc20Vault>): Promise<number[]>;
}
