import type { IntentScope, SignatureWithBytes } from '../../cryptography/index.js'; import { Signer } from '../../cryptography/index.js'; import type { PublicKey } from '../../cryptography/publickey.js'; import type { SignatureScheme } from '../../cryptography/signature-scheme.js'; import type { MoveAuthenticatorData } from './types.js'; /** * @experimental * A Move Authenticator signer for account abstraction. * This allows transactions to be authorized via Move functions rather than traditional cryptographic signatures. */ export declare class MoveSigner extends Signer { private data; /** * Creates a new MoveSigner with the provided MoveAuthenticator data. * * @param data - The MoveAuthenticator data containing object to authenticate, call arguments, and type arguments */ constructor(data: MoveAuthenticatorData); /** * Get the key scheme for MoveAuthenticator */ getKeyScheme(): SignatureScheme; /** * Return the public key for this MoveAuthenticator. * Since MoveAuthenticator uses account abstraction, this returns a public key * based on the object ID. */ getPublicKey(): PublicKey; /** * Serialize the MoveAuthenticator data to bytes (without the signature scheme flag). * The data is already in the correct CallArg BCS format. * * @returns The BCS-serialized MoveAuthenticator bytes */ sign(): Promise; /** * Override signWithIntent to handle MoveAuthenticator's special serialization format. * Unlike traditional signatures, MoveAuthenticator doesn't follow the standard * `flag || signature || publicKey` format. * It follows `flag || signature` format. */ signWithIntent(bytes: Uint8Array, _intent: IntentScope): Promise; /** * Generates the Move Authenticator signature. */ getSignature(): Promise; } //# sourceMappingURL=signer.d.ts.map