import { Deserializer } from '../../bcs/deserializer.mjs'; import { Serializable, Serializer } from '../../bcs/serializer.mjs'; import { AccountAddress } from '../../core/accountAddress.mjs'; import { Ed25519PublicKey, Ed25519Signature } from '../../core/crypto/ed25519.mjs'; import { MultiEd25519PublicKey, MultiEd25519Signature } from '../../core/crypto/multiEd25519.mjs'; import { MultiKey, MultiKeySignature } from '../../core/crypto/multiKey.mjs'; import { AnyPublicKey, AnySignature } from '../../core/crypto/singleKey.mjs'; import { Bls12381PublicKey, Bls12381Signature } from '../../core/crypto/bls12381.mjs'; import { MultiAuthKeyPublicKey, MultiAuthKeySignature } from '../../core/crypto/multiAuthKey.mjs'; import '../../types/index.mjs'; import '../../utils/apiEndpoints.mjs'; import '../../types/indexer.mjs'; import '../../core/hex.mjs'; import '../../core/common.mjs'; import '../instances/transactionArgument.mjs'; import '../../authenticationKey-BaHTUD3k.mjs'; import '../../core/crypto/signature.mjs'; import '../../core/crypto/privateKey.mjs'; declare abstract class AccountAuthenticator extends Serializable { abstract serialize(serializer: Serializer): void; static deserialize(deserializer: Deserializer): AccountAuthenticator; isEd25519(): this is AccountAuthenticatorEd25519; isMultiEd25519(): this is AccountAuthenticatorMultiEd25519; isSingleKey(): this is AccountAuthenticatorSingleKey; isMultiKey(): this is AccountAuthenticatorMultiKey; isMultAuthKey(): this is AccountAuthenticatorMultiAuthKey; } /** * Transaction authenticator Ed25519 for a multi signer transaction * * @param public_key Account's Ed25519 public key. * @param signature Account's Ed25519 signature * */ declare class AccountAuthenticatorEd25519 extends AccountAuthenticator { readonly public_key: Ed25519PublicKey; readonly signature: Ed25519Signature; constructor(public_key: Ed25519PublicKey, signature: Ed25519Signature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorEd25519; } /** * Transaction authenticator Multi Ed25519 for a multi signers transaction * * @param public_key Account's MultiEd25519 public key. * @param signature Account's MultiEd25519 signature * */ declare class AccountAuthenticatorMultiEd25519 extends AccountAuthenticator { readonly public_key: MultiEd25519PublicKey; readonly signature: MultiEd25519Signature; constructor(public_key: MultiEd25519PublicKey, signature: MultiEd25519Signature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorMultiEd25519; } /** * AccountAuthenticatorSingleKey for a single signer * * @param public_key AnyPublicKey * @param signature AnySignature * */ declare class AccountAuthenticatorSingleKey extends AccountAuthenticator { readonly public_key: AnyPublicKey; readonly signature: AnySignature; constructor(public_key: AnyPublicKey, signature: AnySignature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorSingleKey; } /** * AccountAuthenticatorMultiKey for a multi signer * * @param public_keys MultiKey * @param signatures Signature * */ declare class AccountAuthenticatorMultiKey extends AccountAuthenticator { readonly public_keys: MultiKey; readonly signatures: MultiKeySignature; constructor(public_keys: MultiKey, signatures: MultiKeySignature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorMultiKey; } declare class AccountAuthenticatorMultiAuthKey extends AccountAuthenticator { readonly public_key: MultiAuthKeyPublicKey; readonly signature: MultiAuthKeySignature; constructor(public_key: MultiAuthKeyPublicKey, signature: MultiAuthKeySignature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorMultiAuthKey; } declare class AccountAuthenticatorBls12381 extends AccountAuthenticator { readonly public_key: Bls12381PublicKey; readonly signature: Bls12381Signature; constructor(public_key: Bls12381PublicKey, signature: Bls12381Signature); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorBls12381; } declare class AccountAuthenticatorMock extends AccountAuthenticator { readonly authenticator: AccountAddress; constructor(authenticator: AccountAddress); serialize(serializer: Serializer): void; static load(deserializer: Deserializer): AccountAuthenticatorMock; } export { AccountAuthenticator, AccountAuthenticatorBls12381, AccountAuthenticatorEd25519, AccountAuthenticatorMock, AccountAuthenticatorMultiAuthKey, AccountAuthenticatorMultiEd25519, AccountAuthenticatorMultiKey, AccountAuthenticatorSingleKey };