///
import { AccountInfo } from '@solana/web3.js';
import { TokenAccount } from '../..';
import { AuctionData, AuctionDataExtended, BidderMetadata, BidderPot, Edition, MasterEditionV1, MasterEditionV2, Metadata, SafetyDepositBox, Vault } from '../../actions';
import { AuctionCache, AuctionManagerV1, AuctionManagerV2, BidRedemptionTicket, BidRedemptionTicketV2, PayoutTicket, PrizeTrackingTicket, SafetyDepositConfig, Store, StoreIndexer, WhitelistedCreator } from '../../models/metaplex';
import { PackCard } from '../../models/packs/accounts/PackCard';
import { PackSet } from '../../models/packs/accounts/PackSet';
import { PackVoucher } from '../../models/packs/accounts/PackVoucher';
import { ProvingProcess } from '../../models/packs/accounts/ProvingProcess';
import { PublicKeyStringAndAccount, StringPublicKey } from '../../utils';
import { ParsedAccount } from '../accounts/types';
export interface MetaState {
metadata: ParsedAccount[];
metadataByMint: Record>;
metadataByMetadata: Record>;
metadataByCollection: Record>;
metadataByAuction: Record[]>;
metadataByMasterEdition: Record>;
editions: Record>;
masterEditions: Record>;
masterEditionsByPrintingMint: Record>;
masterEditionsByOneTimeAuthMint: Record>;
prizeTrackingTickets: Record>;
auctionManagersByAuction: Record>;
safetyDepositConfigsByAuctionManagerAndIndex: Record>;
bidRedemptionV2sByAuctionManagerAndWinningIndex: Record>;
auctions: Record>;
auctionDataExtended: Record>;
vaults: Record>;
store: ParsedAccount | null;
bidderMetadataByAuctionAndBidder: Record>;
safetyDepositBoxesByVaultAndIndex: Record>;
bidderPotsByAuctionAndBidder: Record>;
bidRedemptions: Record>;
whitelistedCreatorsByCreator: Record>;
payoutTickets: Record>;
auctionCaches: Record>;
storeIndexer: ParsedAccount[];
packs: Record>;
packCards: Record>;
packCardsByPackSet: Record[]>;
vouchers: Record>;
provingProcesses: Record>;
}
export interface MetaContextState extends MetaState {
isLoading: boolean;
isFetching: boolean;
update: (auctionAddress?: any, bidderAddress?: any, userTokenAccounts?: TokenAccount[]) => [
ParsedAccount,
ParsedAccount,
ParsedAccount
];
pullAuctionListData: (auctionAddress: StringPublicKey) => Promise;
pullAuctionPage: (auctionAddress: StringPublicKey) => Promise;
pullBillingPage: (auctionAddress: StringPublicKey) => void;
pullAllSiteData: () => void;
pullAllMetadata: () => void;
pullItemsPage: (userTokenAccounts: TokenAccount[]) => Promise;
pullPackPage: (userTokenAccounts: TokenAccount[], packSetKey: StringPublicKey) => Promise;
pullUserMetadata: (userTokenAccounts: TokenAccount[], tempState?: MetaState) => Promise;
}
export declare type AccountAndPubkey = {
pubkey: string;
account: AccountInfo;
};
export declare type UpdateStateValueFunc = (prop: keyof MetaState, key: string, value: ParsedAccount) => T;
export declare type ProcessAccountsFunc = (account: PublicKeyStringAndAccount, setter: UpdateStateValueFunc) => void;
export declare type CheckAccountFunc = (account: AccountInfo) => boolean;
export declare type UnPromise> = T extends Promise ? U : never;
//# sourceMappingURL=types.d.ts.map