import { DerivableKey } from "./DerivableKey"; import { KeyProperties } from "../KeyProperties"; import { SignableKey } from "./SignableKey"; import { StorableKey } from "./StorableKey"; import { VerifiableKey } from "./VerifiableKey"; import { KeyTypes } from "./KeyTypes"; import { ExportableKey } from "./exportable"; import { JWT_ALG } from "../VerifiableCredential"; export declare abstract class Key { abstract type: KeyTypes; abstract keySpecification: Map; abstract size: number; abstract raw: Uint8Array; abstract to: ExportableKey.Common["to"]; abstract getEncoded(): Uint8Array; get curve(): string; get alg(): JWT_ALG; isDerivable(): this is DerivableKey; isExportable(): this is ExportableKey; isSignable(): this is SignableKey; isStorable(): this is StorableKey; canVerify(): this is VerifiableKey; getProperty(name: string): string | undefined; isCurve(curve: string): this is T; }