import { ValidInstructionTypes } from './iface';
export declare const MEMO_PROGRAM_PK = "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr";
export declare const SEED_LENGTH = 32;
export declare const MAX_MEMO_LENGTH = 130;
export declare const STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT = 2282880;
export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
/**
 * Maximum over-the-wire size of a Solana transaction (in bytes)
 *
 * Source: https://github.com/anza-xyz/agave/blob/v2.1.13/sdk/packet/src/lib.rs#L27-L29
 *
 * Calculation:
 * - IPv6 minimum MTU: 1280 bytes
 * - IPv6 header: 40 bytes
 * - Fragment/UDP header: 8 bytes
 * - Result: 1280 - 40 - 8 = 1232 bytes
 *
 * This limit is designed to avoid packet fragmentation on typical internet infrastructure.
 * Transactions exceeding this limit will fail to serialize with a RangeError during
 * the encoding of the transaction message.
 *
 * Reference: https://solana.com/docs/core/transactions#transaction-size
 */
export declare const SOLANA_TRANSACTION_MAX_SIZE = 1232;
export declare const JITO_STAKE_POOL_ADDRESS = "Jito4APyf642JPZPx3hGc6WWJ8zPKtRbRs4P815Awbb";
export declare const JITOSOL_MINT_ADDRESS = "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn";
export declare const JITO_STAKE_POOL_RESERVE_ACCOUNT = "BgKUXdS29YcHCFrPm5M8oLHiTzZaMDjsebggjoaQ6KFL";
export declare const JITO_STAKE_POOL_RESERVE_ACCOUNT_TESTNET = "rrWBQqRqBXYZw3CmPCCcjFxQ2Ds4JFJd7oRQJ997dhz";
export declare const JITO_MANAGER_FEE_ACCOUNT = "feeeFLLsam6xZJFc6UQFrHqkvVt4jfmVvi2BRLkUZ4i";
export declare const JITO_MANAGER_FEE_ACCOUNT_TESTNET = "DH7tmjoQ5zjqcgfYJU22JqmXhP5EY1tkbYpgVWUS2oNo";
export declare enum ValidInstructionTypesEnum {
    AdvanceNonceAccount = "AdvanceNonceAccount",
    Create = "Create",
    InitializeNonceAccount = "InitializeNonceAccount",
    StakingInitialize = "Initialize",
    StakingDelegate = "Delegate",
    StakingDeactivate = "Deactivate",
    StakingWithdraw = "Withdraw",
    Transfer = "Transfer",
    TokenTransfer = "TokenTransfer",
    Memo = "Memo",
    InitializeAssociatedTokenAccount = "InitializeAssociatedTokenAccount",
    CloseAssociatedTokenAccount = "CloseAssociatedTokenAccount",
    RecoverNestedAssociatedTokenAccount = "RecoverNestedAssociatedTokenAccount",
    Allocate = "Allocate",
    Assign = "Assign",
    Split = "Split",
    Authorize = "Authorize",
    SetComputeUnitLimit = "SetComputeUnitLimit",
    SetPriorityFee = "SetPriorityFee",
    MintTo = "MintTo",
    Burn = "Burn",
    DepositSol = "DepositSol",
    WithdrawStake = "WithdrawStake",
    Approve = "Approve",
    CustomInstruction = "CustomInstruction"
}
export declare enum InstructionBuilderTypes {
    CreateNonceAccount = "CreateNonceAccount",
    StakingActivate = "Activate",
    StakingDeactivate = "Deactivate",
    StakingWithdraw = "Withdraw",
    Transfer = "Transfer",
    Memo = "Memo",
    NonceAdvance = "NonceAdvance",
    CreateAssociatedTokenAccount = "CreateAssociatedTokenAccount",
    CloseAssociatedTokenAccount = "CloseAssociatedTokenAccount",
    RecoverNestedAssociatedTokenAccount = "RecoverNestedAssociatedTokenAccount",
    TokenTransfer = "TokenTransfer",
    StakingAuthorize = "Authorize",
    StakingDelegate = "Delegate",
    SetComputeUnitLimit = "SetComputeUnitLimit",
    SetPriorityFee = "SetPriorityFee",
    MintTo = "MintTo",
    Burn = "Burn",
    CustomInstruction = "CustomInstruction",
    VersionedCustomInstruction = "VersionedCustomInstruction",
    Approve = "Approve",
    WithdrawStake = "WithdrawStake"
}
export declare const VALID_SYSTEM_INSTRUCTION_TYPES: ValidInstructionTypes[];
/** Const to check the order of the Wallet Init instructions when decode */
export declare const walletInitInstructionIndexes: {
    readonly Create: 0;
    readonly InitializeNonceAccount: 1;
    readonly Memo: 2;
};
/** Const to check the order of the Staking Activate instructions when decode */
export declare const stakingActivateInstructionsIndexes: {
    readonly Create: 0;
    readonly Initialize: 1;
    readonly Delegate: 2;
    readonly Memo: 3;
};
/** Const to check the order of the Marinade Staking Activate instructions when decode */
export declare const marinadeStakingActivateInstructionsIndexes: {
    readonly Create: 0;
    readonly Initialize: 1;
    readonly Memo: 2;
};
/** Const to check the order of the Jito Staking Activate instructions when decode */
export declare const jitoStakingActivateInstructionsIndexes: {
    readonly DepositSol: 0;
};
/** Const to check the order of the Jito Staking Activate instructions when decode */
export declare const jitoStakingActivateWithATAInstructionsIndexes: {
    readonly InitializeAssociatedTokenAccount: 0;
    readonly DepositSol: 1;
};
/** Const to check the order of the Jito Staking Activate instructions when decode */
export declare const jitoStakingDeactivateInstructionsIndexes: {
    readonly Approve: 0;
    readonly Create: 1;
    readonly WithdrawStake: 2;
};
/** Const to check the order of the Staking Authorize instructions when decode */
export declare const stakingAuthorizeInstructionsIndexes: {
    readonly Authorize: 0;
};
/** Const to check the order of the Staking Delegate instructions when decode */
export declare const stakingDelegateInstructionsIndexes: {
    readonly Delegate: 0;
};
/** Const to check the order of the Staking Deactivate instructions when decode */
export declare const stakingDeactivateInstructionsIndexes: {
    readonly Deactivate: 0;
    readonly Memo: 1;
};
/** Const to check the order of the Marinade Staking Deactivate instructions when decode */
export declare const marinadeStakingDeactivateInstructionsIndexes: {
    readonly Transfer: 0;
    readonly Memo: 1;
};
/** Const to check the order of the Partial Staking Deactivate instructions when decoded */
export declare const stakingPartialDeactivateInstructionsIndexes: {
    readonly Transfer: 0;
    readonly Allocate: 1;
    readonly Assign: 2;
    readonly Split: 3;
    readonly Deactivate: 4;
    readonly Memo: 5;
};
/** Const to check the order of the Staking Withdraw instructions when decode */
export declare const stakingWithdrawInstructionsIndexes: {
    readonly Withdraw: 0;
    readonly Memo: 1;
};
/** Const to check the order of the ATA init instructions when decode */
export declare const ataInitInstructionIndexes: {
    readonly InitializeAssociatedTokenAccount: 0;
    readonly Memo: 1;
};
/** Const to check the order of the ATA init instructions when decode */
export declare const ataCloseInstructionIndexes: {
    readonly CloseAssociatedTokenAccount: 0;
};
/** Const to check the order of the recover nested ATA instructions when decode */
export declare const ataRecoverNestedInstructionIndexes: {
    readonly RecoverNestedAssociatedTokenAccount: 0;
};
export declare const nonceAdvanceInstruction = "AdvanceNonceAccount";
export declare const validInstructionData = "0a00000001000000";
export declare const validInstructionData2 = "0a00000000000000";
//# sourceMappingURL=constants.d.ts.map