export function signSignature(item: Item, doc: Doc, signal: string): Array<string>;
export function verifySignatureByParam(options: {
    publicKey: string;
    type: number;
    bit: number;
    webAssembly: boolean;
    signal: string;
    content: string;
    rsaWasmLoaderInstance: RSAWasmLoader;
    rsaVerifierInstance: RSAVerifier;
    ecdsaWasmLoaderInstance: EcdsaWasmLoader;
    ecdsaVerifierInstance: EcdsaVerifier;
}): boolean;
export function verifySignature(item: Item, doc: Doc, signature: BasicSignature, signal: string): boolean | Promise<boolean>;
export class EcdsaVerifier {
    /**
    * @type {EcdsaVerifier}
    */
    static instance: EcdsaVerifier;
    /**
     * 获取实例
     * @returns {EcdsaVerifier}
     */
    static getInstance(): EcdsaVerifier;
    /**
     *
     * @param {string} signal
     * @param {string} privateKey
     * @returns
     */
    sign(signal: string, privateKey: string): string;
    /**
     *
     * @param {string} signal
     * @param {string} publicKey
     * @param {BasicSignature | string} signature
     * @returns
     */
    verify(signal: string, publicKey: string, signature: BasicSignature | string): any;
}
export class RSAVerifier {
    /**
       * @type {RSAVerifier}
       */
    static instance: RSAVerifier;
    /**
      * 获取实例
      * @returns {RSAVerifier}
      */
    static getInstance(): RSAVerifier;
    /**
     *
     * @param {string} signal
     * @param {string} privateKey
     * @param {number} bit
     * @returns
     */
    sign(signal: string, privateKey: string, bit: number): string;
    /**
      *
      * @param {string} signal
      * @param {string} publicKey
      * @param {BasicSignature | string} signature
      * @param {number} bit
      * @returns
      */
    verify(signal: string, publicKey: string, signature: BasicSignature | string, bit: number): boolean;
}
export class EcdsaWasmLoader {
    /**
     * @type {EcdsaWasmLoader}
     */
    static instance: EcdsaWasmLoader;
    /**
     * 获取实例
     * @returns {EcdsaWasmLoader}
     */
    static getInstance(): EcdsaWasmLoader;
    loadingState: number;
    getLoadingState(): number;
    load(): void;
    /**
     *
     * @param {string} signal
     * @param {string} privateKey
     * @returns
     */
    sign(signal: string, privateKey: string): string;
    /**
     *
     * @param {string} signal
     * @param {string} publicKey
     * @param {BasicSignature | string} signature
     * @returns {boolean}
     */
    verify(signal: string, publicKey: string, signature: BasicSignature | string): boolean;
}
export class RSAWasmLoader {
    /**
     * @type {RSAWasmLoader}
     */
    static instance: RSAWasmLoader;
    /**
     * 获取实例
     * @returns {RSAWasmLoader}
     */
    static getInstance(): RSAWasmLoader;
    loadingState: number;
    getLoadingState(): number;
    load(): void;
    /**
     *
     * @param {string} signal
     * @param {string} privateKey
     * @returns {string}
     */
    sign(signal: string, privateKey: string): string;
    /**
     *
     * @param {string} signal
     * @param {string} publicKey
     * @param {BasicSignature | string} signature
     * @returns
     */
    verify(signal: string, publicKey: string, signature: BasicSignature | string): boolean;
}
import { Item } from "../../structs/Item";
import { Doc } from "../Doc";
import { BasicSignature } from "./signature";
