///
///
import { type LoggerPlaceholder } from '@marinade.finance/ts-common';
import { PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
import type { ValidatorBondsProgram, Config, Bond, WithdrawRequest, Settlement, BondProduct, ProductType } from './sdk';
import type { SettlementClaimsBitmap } from './settlementClaims';
import type { StakeAccountParsed } from './web3.js';
import type { ProgramAccount } from '@coral-xyz/anchor';
import type { ProgramAccountInfo, ProgramAccountWithInfoNullable } from '@marinade.finance/web3js-1x';
import type { EpochInfo } from '@solana/web3.js';
export declare const MAX_BPS: BN;
export declare const ZERO_BN: BN;
export declare function getConfig(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function findConfigs({ program, adminAuthority, operatorAuthority, }: {
program: ValidatorBondsProgram;
adminAuthority?: PublicKey;
operatorAuthority?: PublicKey;
}): Promise[]>;
export declare function getBond(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function getMultipleBonds({ program, addresses, }: {
program: ValidatorBondsProgram;
addresses: PublicKey[];
}): Promise[]>;
export declare function findBonds({ program, configAccount, voteAccount, bondAuthority, }: {
program: ValidatorBondsProgram;
configAccount?: PublicKey;
voteAccount?: PublicKey;
bondAuthority?: PublicKey;
}): Promise[]>;
export declare function getWithdrawRequest(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function getMultipleWithdrawRequests({ program, addresses, }: {
program: ValidatorBondsProgram;
addresses: PublicKey[];
}): Promise[]>;
export declare function findWithdrawRequests({ program, voteAccount, bond, epoch, }: {
program: ValidatorBondsProgram;
voteAccount?: PublicKey;
bond?: PublicKey;
epoch?: EpochInfo | number | BN | bigint;
}): Promise[]>;
export declare function getSettlement(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function getMultipleSettlements({ program, addresses, }: {
program: ValidatorBondsProgram;
addresses: PublicKey[];
}): Promise[]>;
export declare function findSettlements({ program, bond, merkleRoot, epoch, }: {
program: ValidatorBondsProgram;
bond?: PublicKey;
merkleRoot?: Uint8Array | Buffer | number[];
epoch?: number | BN | EpochInfo;
}): Promise[]>;
export declare function getSettlementClaims(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function getSettlementClaimsBySettlement(program: ValidatorBondsProgram, settlement: PublicKey): Promise;
export declare function isClaimed(program: ValidatorBondsProgram, settlement: PublicKey, index: number | BN): Promise;
export declare function getMultipleSettlementClaims({ program, addresses, }: {
program: ValidatorBondsProgram;
addresses: PublicKey[];
}): Promise[]>;
export declare function findSettlementClaims({ program, settlement, }: {
program: ValidatorBondsProgram;
settlement?: PublicKey;
}): Promise[]>;
export declare function getBondProduct(program: ValidatorBondsProgram, address: PublicKey): Promise;
export declare function getMultipleBondProducts({ program, addresses, }: {
program: ValidatorBondsProgram;
addresses: PublicKey[];
}): Promise[]>;
export declare function findBondProducts({ program, bond, voteAccount, configAccount, productType, logger, }: {
program: ValidatorBondsProgram;
bond?: PublicKey;
voteAccount?: PublicKey;
configAccount?: PublicKey;
productType?: ProductType;
logger?: LoggerPlaceholder;
}): Promise[]>;
export type RpcConfigApiCalls = {
waitApiCallMs: number;
};
export declare function findConfigStakeAccounts({ program, configAccount, withdrawer, currentEpoch, }: {
program: ValidatorBondsProgram;
configAccount?: PublicKey;
withdrawer?: PublicKey;
currentEpoch?: number | BN;
}): Promise[]>;
export declare function findBondStakeAccounts(args: {
program: ValidatorBondsProgram;
configAccount: PublicKey;
bondAccount?: PublicKey;
voteAccount?: PublicKey;
currentEpoch?: number | BN;
}): Promise[]>;
export declare function findBondNonSettlementStakeAccounts(args: {
program: ValidatorBondsProgram;
configAccount: PublicKey;
bondAccount?: PublicKey;
voteAccount?: PublicKey;
currentEpoch?: number | BN;
}): Promise[]>;
export type BondDataWithFunding = {
bondAccount: PublicKey;
voteAccount: PublicKey;
amountOwned: BN;
amountActive: BN;
numberActiveStakeAccounts: number;
amountAtSettlements: BN;
numberSettlementStakeAccounts: number;
amountToWithdraw: BN;
epochsToElapseToWithdraw: BN | undefined;
withdrawRequest: ProgramAccount | undefined;
amountFundedAtBond: BN;
bondFundedStakeAccounts: ProgramAccountInfo[];
settlementFundedStakeAccounts: ProgramAccountInfo[];
};
export declare function getBondsFunding({ program, configAccount, bondAccounts, voteAccounts, currentEpoch, }: {
program: ValidatorBondsProgram;
configAccount: PublicKey;
bondAccounts?: (PublicKey | undefined)[];
voteAccounts?: (PublicKey | undefined)[];
currentEpoch?: number | BN;
}): Promise;
//# sourceMappingURL=api.d.ts.map