import { AddressSystemType, AirdropRaw, AirdropFetcherResult, AirdropFetchersResult, IsClaimed, NetworkIdType, Claim } from '@sonarwatch/portfolio-core'; import { Cache } from './Cache'; import { Fetcher } from './Fetcher'; export type AirdropFetcherExecutor = (owner: string, cache: Cache) => Promise; export type AirdropFetcher = { id: string; networkId: NetworkIdType; executor: AirdropFetcherExecutor; }; export declare const airdropItemPriceCachePrefix = "airdropitemprice"; export declare function setAirdropItemPrices(params: { label: string; price: number; }[], networkId: NetworkIdType, cache: Cache): Promise; export declare function runAirdropFetchersByNetworkId(owner: string, networkId: NetworkIdType, fetchers: AirdropFetcher[], cache: Cache, useCache?: boolean): Promise; export type AirdropStatics = Omit; export type AirdropRawParams = { statics: AirdropStatics; items: { amount: number; label: string; imageUri?: string; address?: string; isClaimed: IsClaimed; claims?: Claim[]; ref?: string; }[]; }; export declare function getAirdropRaw(params: AirdropRawParams): AirdropRaw; export declare function runAirdropFetchers(owner: string, addressSystem: AddressSystemType, fetchers: AirdropFetcher[], cache: Cache, useCache?: boolean): Promise; export declare function runAirdropFetcher(owner: string, fetcher: AirdropFetcher, cache: Cache, useCache?: boolean): Promise; export declare function airdropFetcherToFetcher(airdropFetcher: AirdropFetcher, platformId: string, id: string, claimEnd?: number, useCache?: boolean): Fetcher;