export type SolanaInstructionKey = {
    pubkey: string;
    isSigner: boolean;
    isWritable: boolean;
};
export type SolanaInstructionEnvelope = {
    programId: string;
    dataBase64: string;
    keys: SolanaInstructionKey[];
};
type SolanaModuleLike = typeof import("@solana/web3.js");
export declare function deriveAssociatedTokenAddress(params: {
    owner: string;
    mint: string;
    tokenProgramId?: string;
}): Promise<string>;
export declare function buildCreateAssociatedTokenAccountIdempotentInstruction(params: {
    payer: string;
    owner: string;
    mint: string;
    tokenProgramId?: string;
}): Promise<SolanaInstructionEnvelope>;
export declare function buildTransferCheckedInstruction(params: {
    sourceTokenAccount: string;
    mint: string;
    destinationTokenAccount: string;
    authority: string;
    amountRaw: string;
    decimals: number;
    tokenProgramId?: string;
}): SolanaInstructionEnvelope;
export declare function toTransactionInstruction(envelope: SolanaInstructionEnvelope): Promise<InstanceType<SolanaModuleLike["TransactionInstruction"]>>;
export {};
