import { BN, web3 } from '@coral-xyz/anchor';
export declare const STAKE_SOLAYER_POOL: web3.PublicKey;
export declare const RESERVE_STAKE_SOLAYER_POOL: web3.PublicKey;
export declare const MANAGER_FEE_SOLAYER_POOL: web3.PublicKey;
export declare const WITHDRAW_AUTHORITHY_SOLAYER_POOL: web3.PublicKey;
export declare const AVS_POOL_TOKEN_VAULT: web3.PublicKey;
export declare const AVS: web3.PublicKey;
export declare const AVS_TOKEN_MINT: web3.PublicKey;
export declare const AVS_TOKEN_VAULT: web3.PublicKey;
export declare const AVS_PRORGAM: web3.PublicKey;
export declare const SSOL_TOKEN_ACCOUNT_POOL_VAULT: web3.PublicKey;
type CreateStakeSolToSolayerInstructionParams = {
    solAmount: BN;
    signer: web3.PublicKey;
};
export declare const createStakeSolToSolayerInstruction: ({ solAmount, signer, }: CreateStakeSolToSolayerInstructionParams) => web3.TransactionInstruction;
type CreateSolayerRestakeInstructionParams = {
    signer: web3.PublicKey;
    sSolAmount: BN;
};
export declare const createSolayerRestakeInstruction: ({ signer, sSolAmount, }: CreateSolayerRestakeInstructionParams) => web3.TransactionInstruction;
type CreateLrtsSolDepositInstructionParams = {
    signer: web3.PublicKey;
    sSolAmount: BN;
};
export declare const createLrtsSolDepositInstruction: ({ signer, sSolAmount, }: CreateLrtsSolDepositInstructionParams) => web3.TransactionInstruction;
type GetMintLrtsInstructionsParams = {
    solAmount: BN;
    conversionRate: number;
    walletPublicKey: web3.PublicKey;
};
export declare const getMintLrtsInstructions: ({ solAmount, conversionRate, walletPublicKey, }: GetMintLrtsInstructionsParams) => web3.TransactionInstruction[];
type CreateLrtsUnstakeInstructionParams = {
    signer: web3.PublicKey;
    lrtsAmount: BN;
    undelegateStake: boolean;
};
export declare const createLrtsUnstakeInstructionParams: ({ signer, lrtsAmount, undelegateStake, }: CreateLrtsUnstakeInstructionParams) => web3.TransactionInstruction;
type CreateSolayerUnrestakeInstructionParams = {
    signer: web3.PublicKey;
    unrestakeAmount: BN;
};
export declare const createSolayerUnrestakeInstruction: ({ signer, unrestakeAmount, }: CreateSolayerUnrestakeInstructionParams) => web3.TransactionInstruction;
type CreateUnstakeSolayerInstructionParams = {
    unstakeAmount: number;
    signer: web3.PublicKey;
    connection: web3.Connection;
};
export declare const createUnstakeSolayerInstructionInstruction: ({ unstakeAmount, signer, connection, }: CreateUnstakeSolayerInstructionParams) => Promise<{
    instructions: web3.TransactionInstruction[];
    signers: web3.Signer[];
}>;
type GetBurnLrtsInstructionsParams = {
    lrtsAmount: BN;
    walletPublicKey: web3.PublicKey;
    undelegateStake: boolean;
};
export declare const getBurnLrtsInstructions: ({ lrtsAmount, walletPublicKey, undelegateStake }: GetBurnLrtsInstructionsParams) => web3.TransactionInstruction[];
export declare const createATAIdimpotentInstruction: (walletPublicKey: web3.PublicKey, tokenMint: web3.PublicKey) => web3.TransactionInstruction;
export declare const getUnstakedSolAresteaVaulBalance: (connection: web3.Connection) => Promise<BN>;
export {};
