import type { IotaClient } from '../../client/index.js'; import type { MoveAuthenticatorCallArg, MoveAuthenticatorData } from './types.js'; /** * @experimental * Error thrown when an invalid argument is provided to MoveAuthenticator. */ export declare class InvalidMoveAuthArgError extends Error { constructor(message: string); } /** * @experimental * Error thrown when an invalid objectToAuthenticate is provided to MoveAuthenticator. */ export declare class InvalidMoveAuthAccountError extends Error { constructor(message: string); } /** * @experimental * A function call to authorize a transaction via Move. * This builder creates a MoveAuthenticator which can be used to execute * a transaction with Account Abstraction. */ export declare class MoveAuthenticatorBuilder { private callArgs; private typeArgs; private objectToAuthenticate; /** * Create a new Move Authenticator builder from an object ID, which is the * sender of a transaction that this will be used to authenticate. * * @param objectToAuthenticate - The object ID of the objectToAuthenticate (sender of the transaction) */ constructor(objectToAuthenticate: string); /** * Set the move authenticator call inputs. * Call arguments must not be owned objects - they must be immutable or shared. * * @param args - Array of input kinds specifying the call arguments * @returns this builder for chaining */ setCallArgs(args: MoveAuthenticatorCallArg[]): this; /** * Add a single call argument. * * @param arg - The input kind to add * @returns this builder for chaining */ addCallArg(arg: MoveAuthenticatorCallArg): this; /** * Add an immutable or owned object as a call argument. * Note: The object must actually be immutable when resolved. * * @param objectId - The object ID * @returns this builder for chaining */ addImmutableObject(objectId: string): this; /** * Add a shared object as a call argument. * * @param objectId - The object ID * @param mutable - Whether the object is accessed mutably * @returns this builder for chaining */ addSharedObject(objectId: string, mutable?: boolean): this; /** * Add a pure value as a call argument. * * @param value - The pure value bytes * @returns this builder for chaining */ addPure(value: Uint8Array): this; /** * Set the move authenticator call type parameters. * * @param typeArgs - Array of type argument strings * @returns this builder for chaining */ setTypeArgs(typeArgs: string[]): this; /** * Add a single type argument. * * @param typeArg - The type argument string * @returns this builder for chaining */ addTypeArg(typeArg: string): this; /** * Resolve this move authenticator builder into a MoveAuthenticator * which can be used to execute the given transaction. * * @param client - The IOTA client to use for fetching object data * @returns The resolved MoveAuthenticator data * @throws InvalidMoveAuthArgError if call arguments are invalid * @throws InvalidMoveAuthAccountError if the object is invalid */ finish(client: IotaClient): Promise; } //# sourceMappingURL=builder.d.ts.map