import type { IntentScope } from "./intent.js";
export type PublicKeyInitData = string | Uint8Array | Iterable<number>;
export declare function bytesEqual(a: Uint8Array, b: Uint8Array): boolean;
export declare abstract class PublicKey {
    equals(publicKey: PublicKey): boolean;
    toBase64(): string;
    toString(): never;
    toWPublicKey(): string;
    verifyWithIntent(bytes: Uint8Array, signature: Uint8Array | string, intent: IntentScope): Promise<boolean>;
    verifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean>;
    verifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean>;
    verifyAddress(address: string): boolean;
    toWBytes(): Uint8Array<ArrayBuffer>;
    toWAddress(): string;
    abstract toRawBytes(): Uint8Array<ArrayBuffer>;
    abstract flag(): number;
    abstract verify(data: Uint8Array, signature: Uint8Array | string): Promise<boolean>;
}
export declare function parseSerializedKeypairSignature(serializedSignature: string): {
    serializedSignature: string;
    signatureScheme: "Falcon512" | "MultiSig";
    signature: Uint8Array<ArrayBuffer>;
    publicKey: Uint8Array<ArrayBuffer>;
    bytes: Uint8Array<ArrayBuffer>;
};
