/**
 * 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 AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit';
import { YVAULTS_PROGRAM_ADDRESS } from '../programs';
export declare const SIGN_TERMS_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getSignTermsDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
export type SignTermsInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountOwner extends string | AccountMeta<string> = string, TAccountOwnerSignatureState extends string | AccountMeta<string> = string, TAccountSystemProgram extends string | AccountMeta<string> = "11111111111111111111111111111111", TAccountRent extends string | AccountMeta<string> = "SysvarRent111111111111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountOwner extends string ? WritableSignerAccount<TAccountOwner> & AccountSignerMeta<TAccountOwner> : TAccountOwner, TAccountOwnerSignatureState extends string ? WritableAccount<TAccountOwnerSignatureState> : TAccountOwnerSignatureState, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountRent extends string ? ReadonlyAccount<TAccountRent> : TAccountRent, ...TRemainingAccounts]>;
export type SignTermsInstructionData = {
    discriminator: ReadonlyUint8Array;
    signature: ReadonlyUint8Array;
};
export type SignTermsInstructionDataArgs = {
    signature: ReadonlyUint8Array;
};
export declare function getSignTermsInstructionDataEncoder(): FixedSizeEncoder<SignTermsInstructionDataArgs>;
export declare function getSignTermsInstructionDataDecoder(): FixedSizeDecoder<SignTermsInstructionData>;
export declare function getSignTermsInstructionDataCodec(): FixedSizeCodec<SignTermsInstructionDataArgs, SignTermsInstructionData>;
export type SignTermsInput<TAccountOwner extends string = string, TAccountOwnerSignatureState extends string = string, TAccountSystemProgram extends string = string, TAccountRent extends string = string> = {
    owner: TransactionSigner<TAccountOwner>;
    ownerSignatureState: Address<TAccountOwnerSignatureState>;
    systemProgram?: Address<TAccountSystemProgram>;
    rent?: Address<TAccountRent>;
    signature: SignTermsInstructionDataArgs["signature"];
};
export declare function getSignTermsInstruction<TAccountOwner extends string, TAccountOwnerSignatureState extends string, TAccountSystemProgram extends string, TAccountRent extends string, TProgramAddress extends Address = typeof YVAULTS_PROGRAM_ADDRESS>(input: SignTermsInput<TAccountOwner, TAccountOwnerSignatureState, TAccountSystemProgram, TAccountRent>, config?: {
    programAddress?: TProgramAddress;
}): SignTermsInstruction<TProgramAddress, TAccountOwner, TAccountOwnerSignatureState, TAccountSystemProgram, TAccountRent>;
export type ParsedSignTermsInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
    programAddress: Address<TProgram>;
    accounts: {
        owner: TAccountMetas[0];
        ownerSignatureState: TAccountMetas[1];
        systemProgram: TAccountMetas[2];
        rent: TAccountMetas[3];
    };
    data: SignTermsInstructionData;
};
export declare function parseSignTermsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedSignTermsInstruction<TProgram, TAccountMetas>;
//# sourceMappingURL=signTerms.d.ts.map