import { PublicKey } from '@solana/web3.js';
/**
 * Class for Interest-Bearing token functionality
 */
export declare class InterestBearingExtension {
    /**
     * Create instruction to initialize Interest-Bearing for mint
     * @param mint - Mint address
     * @param rateAuthority - Authority address that can change interest rate
     * @param rate - Interest rate (basis points, 10000 = 100%)
     * @param programId - Token Extension Program ID
     * @returns Instruction to initialize Interest-Bearing
     */
    static createInitializeInterestBearingMintInstruction(mint: PublicKey, rateAuthority: PublicKey, rate: number, programId?: PublicKey): import("@solana/web3.js").TransactionInstruction;
    /**
     * Create instruction to update interest rate
     * @param mint - Mint address
     * @param rateAuthority - Authority address that can change interest rate
     * @param rate - New interest rate (basis points, 10000 = 100%)
     * @param programId - Token Extension Program ID
     * @returns Instruction to update interest rate
     */
    static createUpdateRateInterestBearingMintInstruction(mint: PublicKey, rateAuthority: PublicKey, rate: number, programId?: PublicKey): {
        programId: PublicKey;
        keys: {
            pubkey: PublicKey;
            isSigner: boolean;
            isWritable: boolean;
        }[];
        data: Buffer<ArrayBuffer>;
    };
    /**
     * Calculate current token amount including interest
     * @param initialAmount - Initial amount
     * @param rate - Interest rate (basis points, 10000 = 100%)
     * @param timeInSeconds - Elapsed time (seconds)
     * @returns Current token amount including interest
     */
    static calculateInterest(initialAmount: bigint, rate: number, timeInSeconds: number): bigint;
}
