import { Deserializer } from '../../bcs/deserializer.mjs';
import { Serializer } from '../../bcs/serializer.mjs';
import { AnyPublicKeyVariant } from '../../types/index.mjs';
import { a as AccountPublicKey, P as PublicKey, V as VerifySignatureArgs, A as AuthenticationKey } from '../../publicKey-B3XRNhHO.mjs';
import { Signature } from './signature.mjs';
import '../../utils/apiEndpoints.mjs';
import '../../types/indexer.mjs';
import '../../types/generated/operations.mjs';
import '../../types/generated/types.mjs';
import '../hex.mjs';
import '../common.mjs';
import '../accountAddress.mjs';
import '../../transactions/instances/transactionArgument.mjs';

/**
 * Represents any public key supported by Aptos.
 *
 * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Aptos supports
 * `Legacy` and `Unified` authentication keys.
 *
 * Any unified authentication key is represented in the SDK as `AnyPublicKey`.
 */
declare class AnyPublicKey extends AccountPublicKey {
    /**
     * Reference to the inner public key
     */
    readonly publicKey: PublicKey;
    /**
     * Index of the underlying enum variant
     */
    readonly variant: AnyPublicKeyVariant;
    constructor(publicKey: PublicKey);
    verifySignature(args: VerifySignatureArgs): boolean;
    authKey(): AuthenticationKey;
    toUint8Array(): Uint8Array;
    serialize(serializer: Serializer): void;
    static deserialize(deserializer: Deserializer): AnyPublicKey;
    /**
     * @deprecated use `instanceof AnyPublicKey` instead.
     */
    static isPublicKey(publicKey: AccountPublicKey): publicKey is AnyPublicKey;
    /**
     * @deprecated use `publicKey instanceof Ed25519PublicKey` instead.
     */
    isEd25519(): boolean;
    /**
     * @deprecated use `publicKey instanceof Secp256k1PublicKey` instead.
     */
    isSecp256k1PublicKey(): boolean;
}
/**
 * Instance of signature that uses the SingleKey authentication scheme.
 * This signature can only be generated by a `SingleKeySigner`, since it uses the
 * same authentication scheme.
 */
declare class AnySignature extends Signature {
    readonly signature: Signature;
    /**
     * Index of the underlying enum variant
     */
    private readonly variant;
    constructor(signature: Signature);
    toUint8Array(): Uint8Array;
    serialize(serializer: Serializer): void;
    static deserialize(deserializer: Deserializer): AnySignature;
}

export { AnyPublicKey, AnySignature };
