/** * This code was AUTOGENERATED using the kinobi library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun kinobi to update it. * * @see https://github.com/metaplex-foundation/kinobi */ import { AccountMeta, Pda, PublicKey, Signer } from '@metaplex-foundation/umi'; /** * Transforms the given object such that the given keys are optional. * @internal */ export type PickPartial = Omit & Partial>; /** * Defines an instruction account that keeps track of whether it is writable or not. * @internal */ export type WithWritable = readonly [T, boolean]; /** * Helper function that dynamically updates the type of * an object as we add more properties to the object. * @internal */ export declare function addObjectProperty(obj: T, key: U, value: V): asserts obj is T & { [K in U]: V; }; /** * Adds an instruction account to the given list of keys and signers. * @internal */ export declare function addAccountMeta(keys: AccountMeta[], signers: Signer[], account: WithWritable, isOptional: false): void; export declare function addAccountMeta(keys: AccountMeta[], signers: Signer[], account: WithWritable, isOptional: true): void;