import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Attestation } from "./attestation"; import { Identity } from "./identity"; import { Location } from "./location"; export declare const protobufPackage = "simplestamp.v1"; /** * SimpleStamp data models for storing attestations. * * License: Unlicense https://unlicense.org */ export interface SimpleStamp { /** * The binary hash of the data this timestamp is for. * Most likely the SHA256 of a file. */ hash: Uint8Array; /** * The random data that is appended to the hash on creation. This results in * stamping the same file multiple times and getting a unique stamp. The value * submitted to the server is then: SHA256(CONCAT(hash, nonce)) */ nonce: Uint8Array; /** The attestations made */ attestations: Attestation[]; /** The UNIX timestamp of when this was originally created */ created: number; /** * URL, file name, or general description for where the data * used to generate the hash came from. */ source: string; /** Identity of the organization and/or person stamping */ identity: Identity | undefined; /** Where the timestamp was created and it's trajectory if moving */ location: Location | undefined; /** Assorted free form details for the creator to describe the purpose or intent */ description: string; /** * Cryptographic signature of the hash sent to digest. This lets the person making * the Timestamp use a private key to sign, so others can validate with their * public key. */ signature: Uint8Array; /** * Unique identifier for the key used to sign. Open ended, to help identity which key was * used. Should not contain anything from the key itself. */ keyId: string; } export declare const SimpleStamp: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {}; //# sourceMappingURL=timestamp.d.ts.map