@sebastianp265/safe-server-side-storage-client
Version:
Library for Confidential Server-Side Message Storage Using the Labyrinth Protocol
54 lines • 1.76 kB
TypeScript
export declare class EpochStorageError extends Error {
constructor(message: string);
}
export declare class EpochDoesNotExistError extends EpochStorageError {
constructor(epochSequenceId: string);
}
export declare class EpochAlreadyExistError extends EpochStorageError {
constructor(epochSequenceId: string);
}
export declare class OmittedEpochError extends EpochStorageError {
constructor(expectedOlderEpochSequenceId: string, expectedNewerEpochSequenceId: string, actualEpochSequenceId: string);
}
export declare class NoEpochExistsInEpochStorageError extends EpochStorageError {
constructor();
}
export declare class NegativeEpochSequenceIdError extends EpochStorageError {
constructor();
}
export type EpochSerialized = {
id: string;
sequenceId: string;
rootKey: string;
};
export type Epoch = {
id: string;
sequenceId: string;
rootKey: Uint8Array;
};
export type EpochWithoutId = {
sequenceId: string;
rootKey: Uint8Array;
};
export type EpochStorageSerialized = {
newestEpochSequenceId: string | null;
oldestEpochSequenceId: string | null;
sequenceIdToEpoch: {
[sequenceId: string]: EpochSerialized;
};
};
export declare class EpochStorage {
private newestEpochSequenceId;
private oldestEpochSequenceId;
private readonly sequenceIdToEpoch;
private constructor();
static deserialize(epochStorageSerialized: EpochStorageSerialized): EpochStorage;
serialize(): EpochStorageSerialized;
static createEmpty(): EpochStorage;
getEpoch(sequenceId: string): Epoch;
isEpochPresent(sequenceId: string): boolean;
getOldestEpoch(): Epoch;
getNewestEpoch(): Epoch;
add(epochToAdd: Epoch): void;
}
//# sourceMappingURL=EpochStorage.d.ts.map