///
import type { MinterData, MintWrapperData, QuarryData, RegistryData, RewarderData } from "@quarryprotocol/quarry-sdk";
import type { ProgramAccount, Token } from "@saberhq/token-utils";
import { TokenAmount } from "@saberhq/token-utils";
import { PublicKey } from "@solana/web3.js";
import type { ParsedQuarryMetaWithReplicas } from "../..";
/**
* Information about a Quarry.
*/
export interface QuarryInfo {
key: PublicKey;
quarry: ProgramAccount;
quarryMeta?: ParsedQuarryMetaWithReplicas;
quarryAppDepositLink: string | null;
}
export interface UseRewarderArgs {
/**
* Key of the rewarder.
*/
rewarderKey?: PublicKey;
/**
* Keys of known staked tokens, in case one is not using the registry.
*
* If this is specified, this is merged with the registry.
*/
stakedTokenMints?: PublicKey[];
}
export interface UseRewarder {
/**
* Key of the rewarder.
*/
rewarderKey: PublicKey;
rewarder?: ProgramAccount | null;
mintWrapper?: ProgramAccount | null;
rewardToken?: Token | null;
quarries?: readonly QuarryInfo[];
annualRewardsRate: TokenAmount | null;
minter: ProgramAccount | null | undefined;
registry: ProgramAccount | null | undefined;
/**
* True if the quarries are still loading.
*/
quarriesLoading: boolean;
/**
* Loading status of every element.
*/
isLoading: {
registry: boolean;
rewarder: boolean;
quarries: boolean;
};
/**
* List of the mints of all staked tokens.
*/
allStakedTokenMints?: PublicKey[];
}
export declare const RewarderProvider: import("react").ComponentType>, useRewarder: () => UseRewarder;
//# sourceMappingURL=context.d.ts.map