38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
|
import { Signature } from './signature';
|
||
|
import { JSONObject, JSONValue } from './utils';
|
||
|
export interface Signable {
|
||
|
signatures: Record<string, Signature>;
|
||
|
signed: Signed;
|
||
|
}
|
||
|
export interface SignedOptions {
|
||
|
version?: number;
|
||
|
specVersion?: string;
|
||
|
expires?: string;
|
||
|
unrecognizedFields?: Record<string, JSONValue>;
|
||
|
}
|
||
|
export declare enum MetadataKind {
|
||
|
Root = "root",
|
||
|
Timestamp = "timestamp",
|
||
|
Snapshot = "snapshot",
|
||
|
Targets = "targets"
|
||
|
}
|
||
|
export declare function isMetadataKind(value: unknown): value is MetadataKind;
|
||
|
/***
|
||
|
* A base class for the signed part of TUF metadata.
|
||
|
*
|
||
|
* Objects with base class Signed are usually included in a ``Metadata`` object
|
||
|
* on the signed attribute. This class provides attributes and methods that
|
||
|
* are common for all TUF metadata types (roles).
|
||
|
*/
|
||
|
export declare abstract class Signed {
|
||
|
readonly specVersion: string;
|
||
|
readonly expires: string;
|
||
|
readonly version: number;
|
||
|
readonly unrecognizedFields: Record<string, JSONValue>;
|
||
|
constructor(options: SignedOptions);
|
||
|
equals(other: Signed): boolean;
|
||
|
isExpired(referenceTime?: Date): boolean;
|
||
|
static commonFieldsFromJSON(data: JSONObject): SignedOptions;
|
||
|
abstract toJSON(): JSONObject;
|
||
|
}
|