///
///
import { Program } from '@coral-xyz/anchor';
import { Connection, Keypair, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
import ValidatorBondsIDL from '../idl/json/validator_bonds.json';
import type { ValidatorBonds } from '../idl/types/validator_bonds';
import type { IdlEvents, IdlTypes, IdlAccounts } from '@coral-xyz/anchor';
import type { Wallet as AnchorWalletInterface } from '@coral-xyz/anchor/dist/cjs/provider';
import type { Provider } from '@marinade.finance/marinade-ts-sdk';
import type { ConfirmOptions, EpochInfo } from '@solana/web3.js';
export declare const MARINADE_CONFIG_ADDRESS: PublicKey;
export declare const MARINADE_INSTITUTIONAL_CONFIG_ADDRESS: PublicKey;
export declare const VALIDATOR_BONDS_PROGRAM_ID: PublicKey;
export { ValidatorBondsIDL };
export { ValidatorBonds };
export type ValidatorBondsProgram = Program;
export type Config = IdlAccounts['config'];
export type Bond = IdlAccounts['bond'];
export type BondProduct = IdlAccounts['bondProduct'];
export type SettlementClaims = IdlAccounts['settlementClaims'];
export type Settlement = IdlAccounts['settlement'];
export type WithdrawRequest = IdlAccounts['withdrawRequest'];
export type InitBondArgs = IdlTypes['initBondArgs'];
export type InitBondProductArgs = IdlTypes['initBondProductArgs'];
export type InitConfigArgs = IdlTypes['initConfigArgs'];
export type ConfigureConfigArgs = IdlTypes['configureConfigArgs'];
export type ConfigureBondArgs = IdlTypes['configureBondArgs'];
export type ConfigureBondProductArgs = IdlTypes['configureBondProductArgs'];
export type ProductType = IdlTypes['productType'];
export type ProductTypeConfig = IdlTypes['productTypeConfig'];
export type CommissionProductConfig = IdlTypes['commissionProductConfig'];
export declare const CONFIG_ACCOUNT_DISCRIMINATOR: string;
export declare const BOND_ACCOUNT_DISCRIMINATOR: string;
export declare const BOND_PRODUCT_ACCOUNT_DISCRIMINATOR: string;
export declare const SETTLEMENT_CLAIMS_ACCOUNT_DISCRIMINATOR: string;
export declare const SETTLEMENT_ACCOUNT_DISCRIMINATOR: string;
export declare const WITHDRAW_REQUEST_ACCOUNT_DISCRIMINATOR: string;
export declare function seedFromConstants(seedName: string): Uint8Array;
export declare const BOND_SEED: Uint8Array;
export declare const BOND_PRODUCT_SEED: Uint8Array;
export declare const BOND_MINT_SEED: Uint8Array;
export declare const SETTLEMENT_SEED: Uint8Array;
export declare const WITHDRAW_REQUEST_SEED: Uint8Array;
export declare const SETTLEMENT_CLAIMS_SEED: Uint8Array;
export declare const BONDS_WITHDRAWER_AUTHORITY_SEED: Uint8Array;
export declare const SETTLEMENT_STAKER_AUTHORITY_SEED: Uint8Array;
export declare const SETTLEMENT_CLAIMS_ANCHOR_HEADER_SIZE: number;
export declare const EVENT_AUTHORITY_SEED_STRING = "__event_authority";
export declare const INIT_CONFIG_EVENT = "initConfigEvent";
export type InitConfigEvent = IdlEvents[typeof INIT_CONFIG_EVENT];
export declare const CONFIGURE_CONFIG_EVENT = "configureConfigEvent";
export type ConfigureConfigEvent = IdlEvents[typeof CONFIGURE_CONFIG_EVENT];
export declare const INIT_BOND_EVENT = "initBondEvent";
export type InitBondEvent = IdlEvents[typeof INIT_BOND_EVENT];
export declare const CONFIGURE_BOND_EVENT = "configureBondEvent";
export type ConfigureBondEvent = IdlEvents[typeof CONFIGURE_BOND_EVENT];
export declare const CONFIGURE_BOND_WITH_MINT_EVENT = "configureBondWithMintEvent";
export type ConfigureBondWithMintEvent = IdlEvents[typeof CONFIGURE_BOND_WITH_MINT_EVENT];
export declare const INIT_BOND_PRODUCT_EVENT = "initBondProductEvent";
export type InitBondProductEvent = IdlEvents[typeof INIT_BOND_PRODUCT_EVENT];
export declare const CONFIGURE_BOND_PRODUCT_EVENT = "configureBondProductEvent";
export type ConfigureBondProductEvent = IdlEvents[typeof CONFIGURE_BOND_PRODUCT_EVENT];
export declare const MINT_BOND_EVENT = "mintBondEvent";
export type MintBondEvent = IdlEvents[typeof MINT_BOND_EVENT];
export declare const FUND_BOND_EVENT = "fundBondEvent";
export type FundBondEvent = IdlEvents[typeof FUND_BOND_EVENT];
export declare const FUND_SETTLEMENT_EVENT = "fundSettlementEvent";
export type FundSettlementEvent = IdlEvents[typeof FUND_SETTLEMENT_EVENT];
export declare const CLAIM_SETTLEMENT_V2_EVENT = "claimSettlementV2Event";
export type ClaimSettlementV2Event = IdlEvents[typeof CLAIM_SETTLEMENT_V2_EVENT];
export declare const INIT_SETTLEMENT_EVENT = "initSettlementEvent";
export type InitSettlementEvent = IdlEvents[typeof INIT_SETTLEMENT_EVENT];
export declare const CLOSE_SETTLEMENT_EVENT = "closeSettlementEvent";
export type CloseSettlementEvent = IdlEvents[typeof CLOSE_SETTLEMENT_EVENT];
export declare const CANCEL_SETTLEMENT_EVENT = "cancelSettlementEvent";
export type CancelSettlementEvent = IdlEvents[typeof CANCEL_SETTLEMENT_EVENT];
export declare const MERGE_STAKE_EVENT = "mergeStakeEvent";
export type MergeStakeEvent = IdlEvents[typeof MERGE_STAKE_EVENT];
export declare const RESET_STAKE_EVENT = "resetStakeEvent";
export type ResetStakeEvent = IdlEvents[typeof RESET_STAKE_EVENT];
export declare const WITHDRAW_STAKE_EVENT = "withdrawStakeEvent";
export type WithdrawStakeEvent = IdlEvents[typeof WITHDRAW_STAKE_EVENT];
export declare const INIT_WITHDRAW_REQUEST_EVENT = "initWithdrawRequestEvent";
export type InitWithdrawRequestEvent = IdlEvents[typeof INIT_WITHDRAW_REQUEST_EVENT];
export declare const CANCEL_WITHDRAW_REQUEST_EVENT = "cancelWithdrawRequestEvent";
export type CancelWithdrawRequestEvent = IdlEvents[typeof CANCEL_WITHDRAW_REQUEST_EVENT];
export declare const CLAIM_WITHDRAW_REQUEST_EVENT = "claimWithdrawRequestEvent";
export type ClaimWithdrawRequestEvent = IdlEvents[typeof CLAIM_WITHDRAW_REQUEST_EVENT];
export declare const EMERGENCY_PAUSE_EVENT = "emergencyPauseEvent";
export type EmergencyPauseEvent = IdlEvents[typeof EMERGENCY_PAUSE_EVENT];
export declare const EMERGENCY_RESUME_EVENT = "emergencyResumeEvent";
export type EmergencyResumeEvent = IdlEvents[typeof EMERGENCY_RESUME_EVENT];
export declare const Errors: Map;
export declare function getProgram({ connection, wallet, opts, }: {
connection: Connection | Provider;
wallet?: AnchorWalletInterface | Keypair;
opts?: ConfirmOptions;
}): ValidatorBondsProgram;
export declare function bondAddress(config: PublicKey, voteAccount: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function bondProductAddress(bond: PublicKey, productType: ProductType, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function bondsWithdrawerAuthority(config: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function uintToBuffer(number: EpochInfo | number | BN | bigint): Buffer;
export declare function settlementAddress(bond: PublicKey, merkleRoot: Uint8Array | Buffer | number[], epoch: EpochInfo | number | BN | bigint, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function settlementStakerAuthority(settlement: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function settlementClaimsAddress(settlement: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function withdrawRequestAddress(bond: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function bondMintAddress(bond: PublicKey, validatorIdentity: PublicKey, validatorBondsProgramId?: PublicKey): [PublicKey, number];
export declare function eventAuthorityAddress(validatorBondsProgramId?: PublicKey): [PublicKey, number];
//# sourceMappingURL=sdk.d.ts.map