/**
 * This code was AUTOGENERATED using the codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */
import { type Codec, type Decoder, type Encoder } from "@solana/codecs";
import type { Address, IAccountMeta, IInstruction, IInstructionWithAccounts, IInstructionWithData, TransactionSigner } from "@solana/kit";
import { MEMO_PROGRAM_ADDRESS } from "../programs";
export type AddMemoInstruction<TProgram extends string = typeof MEMO_PROGRAM_ADDRESS, TRemainingAccounts extends readonly IAccountMeta<string>[] = []> = IInstruction<TProgram> & IInstructionWithData<Uint8Array> & IInstructionWithAccounts<TRemainingAccounts>;
export type AddMemoInstructionData = {
    memo: string;
};
export type AddMemoInstructionDataArgs = AddMemoInstructionData;
export declare function getAddMemoInstructionDataEncoder(): Encoder<AddMemoInstructionDataArgs>;
export declare function getAddMemoInstructionDataDecoder(): Decoder<AddMemoInstructionData>;
export declare function getAddMemoInstructionDataCodec(): Codec<AddMemoInstructionDataArgs, AddMemoInstructionData>;
export type AddMemoInput = {
    memo: AddMemoInstructionDataArgs["memo"];
    signers?: Array<TransactionSigner>;
};
export declare function getAddMemoInstruction<TProgramAddress extends Address = typeof MEMO_PROGRAM_ADDRESS>(input: AddMemoInput, config?: {
    programAddress?: TProgramAddress;
}): AddMemoInstruction<TProgramAddress>;
export type ParsedAddMemoInstruction<TProgram extends string = typeof MEMO_PROGRAM_ADDRESS> = {
    programAddress: Address<TProgram>;
    data: AddMemoInstructionData;
};
export declare function parseAddMemoInstruction<TProgram extends string>(instruction: IInstruction<TProgram> & IInstructionWithData<Uint8Array>): ParsedAddMemoInstruction<TProgram>;
//# sourceMappingURL=addMemo.d.ts.map