import type { Program } from "@project-serum/anchor"; import type { AugmentedProvider, Provider, TransactionEnvelope } from "@saberhq/solana-contrib"; import type { PublicKey, Signer, TransactionInstruction } from "@solana/web3.js"; import { Keypair } from "@solana/web3.js"; import type { Programs } from "./constants"; import type { PendingRedeemer } from "./programs/redeemer"; import { Activity, MergeMine, MineWrapper, MintWrapper, PositionWrapper, QuarryRegistry } from "./wrappers"; import { Operator } from "./wrappers/operator"; import { RedeemerWrapper } from "./wrappers/redeemer"; import { TransferWrapper } from "./wrappers/transferWrapper/transferWrapper"; /** * Quarry SDK. */ export declare class QuarrySDK { readonly provider: AugmentedProvider; readonly programs: Programs; constructor(provider: AugmentedProvider, programs: Programs); /** * Creates a new instance of the SDK with the given keypair. */ withSigner(signer: Signer): QuarrySDK; get programList(): Program[]; get mintWrapper(): MintWrapper; get mine(): MineWrapper; get registry(): QuarryRegistry; get mergeMine(): MergeMine; get positionWrapper(): PositionWrapper; get activity(): Activity; get transferWrapper(): TransferWrapper; /** * Constructs a new transaction envelope. * @param instructions * @param signers * @returns */ newTx(instructions: TransactionInstruction[], signers?: Signer[]): TransactionEnvelope; /** * Loads the SDK. * @returns */ static load({ provider, addresses, }: { provider: Provider; addresses?: { [K in keyof Programs]?: PublicKey; }; }): QuarrySDK; loadRedeemer({ iouMint, redemptionMint, }: { iouMint: PublicKey; redemptionMint: PublicKey; }): Promise; createRedeemer({ iouMint, redemptionMint, }: { iouMint: PublicKey; redemptionMint: PublicKey; }): Promise; /** * Loads an operator. * @param key * @returns */ loadOperator(key: PublicKey): Promise; /** * Creates an Operator. * @returns */ createOperator({ rewarder, baseKP, admin, payer, }: { rewarder: PublicKey; admin?: PublicKey; baseKP?: Keypair; payer?: PublicKey; }): Promise<{ key: PublicKey; tx: TransactionEnvelope; }>; } //# sourceMappingURL=sdk.d.ts.map