import { Blob } from "./blob"; import { Name } from "./name"; export enum KeyLocatorType { KEYNAME = 1, KEY_LOCATOR_DIGEST = 2, } export class KeyLocator { constructor(kl?: KeyLocator); getType(): KeyLocatorType; getKeyName(): Name; getKeyData(): Blob; setType(type: KeyLocatorType): void; setKeyName(name: Name): void; setKeyData(keyData: Blob): void; clear(): void; } export class ValidityPeriod { constructor(validity?: ValidityPeriod); constructor(notBefore: number, notAfter: number); hasPeriod(): boolean; getNotBefore(): number; getNotAfter(): number; isValid(time?: number): boolean; equals(other: ValidityPeriod): boolean; clear(): void; } export abstract class Signature { clone(): Signature; } export class SignatureBase extends Signature { constructor(); getSignature(): Blob; setSignature(sigValue: Blob): void; clone(): T; } export class SignatureBaseKl extends SignatureBase { getKeyLocator(): KeyLocator; setKeyLocator(kl?: KeyLocator): void; } export class SignatureBaseKlVp extends SignatureBaseKl { getValidityPeriod(): ValidityPeriod; setValidityPeriod(validity?: ValidityPeriod): void; } export class GenericSignature extends SignatureBase { constructor(); getTypeCode(): number; getSignatureInfoEncoding(): Blob; setSignatureInfoEncoding(encoding: Blob, typeCode?: number): void; } export class DigestSha256Signature extends SignatureBase { } export class Sha256WithRsaSignature extends SignatureBaseKlVp { } export class Sha256WithEcdsaSignature extends SignatureBaseKlVp { } export class HmacWithSha25Signature extends SignatureBaseKl { }