@hazae41/kdbx
Version:
Rust-like KeePass (KDBX 4) file format for TypeScript
117 lines (116 loc) • 4.32 kB
TypeScript
export * from "./dictionary/mod.ts";
export * from "./headers/mod.ts";
import { Unknown } from "@hazae41/binary";
import { Cursor } from "@hazae41/cursor";
import { Inner, Outer } from "./headers/mod.ts";
export declare class PasswordKey {
#private;
readonly value: Unknown<ArrayBuffer, 32>;
constructor(value: Unknown<ArrayBuffer, 32>);
static digestOrThrow(password: Uint8Array<ArrayBuffer>): Promise<PasswordKey>;
}
export declare class CompositeKey {
#private;
readonly value: Unknown<ArrayBuffer, 32>;
constructor(value: Unknown<ArrayBuffer, 32>);
static digestOrThrow(password: PasswordKey): Promise<CompositeKey>;
}
export declare class DerivedKey {
#private;
readonly value: Unknown<ArrayBuffer, 32>;
constructor(value: Unknown<ArrayBuffer, 32>);
}
export declare class PreMasterKey {
#private;
readonly seed: Unknown<ArrayBuffer, 32>;
readonly hash: DerivedKey;
constructor(seed: Unknown<ArrayBuffer, 32>, hash: DerivedKey);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
digestOrThrow(): Promise<MasterKey>;
}
export declare class MasterKey {
#private;
readonly value: Unknown<ArrayBuffer, 32>;
constructor(value: Unknown<ArrayBuffer, 32>);
}
export declare class PreHmacMasterKey {
#private;
readonly seed: Unknown<ArrayBuffer, 32>;
readonly hash: DerivedKey;
constructor(seed: Unknown<ArrayBuffer, 32>, hash: DerivedKey);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
digestOrThrow(): Promise<HmacMasterKey>;
}
export declare class HmacMasterKey {
#private;
readonly bytes: Unknown<ArrayBuffer, 64>;
constructor(bytes: Unknown<ArrayBuffer, 64>);
}
export declare class MasterKeys {
#private;
readonly encrypter: MasterKey;
readonly authifier: HmacMasterKey;
constructor(encrypter: MasterKey, authifier: HmacMasterKey);
}
export declare namespace Database {
class Decrypted {
readonly outer: Outer.MagicAndVersionAndHeadersWithBytesWithHashAndHmacWithKeys;
readonly inner: Inner.HeadersAndContentWithBytes;
constructor(outer: Outer.MagicAndVersionAndHeadersWithBytesWithHashAndHmacWithKeys, inner: Inner.HeadersAndContentWithBytes);
encryptOrThrow(composite: CompositeKey): Promise<Encrypted>;
}
class Encrypted {
readonly outer: Outer.MagicAndVersionAndHeadersWithBytesWithHashAndHmac;
readonly inner: Blocks;
constructor(outer: Outer.MagicAndVersionAndHeadersWithBytesWithHashAndHmac, inner: Blocks);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
cloneOrThrow(): Encrypted;
decryptOrThrow(composite: CompositeKey): Promise<Decrypted>;
}
namespace Encrypted {
function readOrThrow(cursor: Cursor<ArrayBuffer>): Encrypted;
}
}
export declare class Blocks {
readonly blocks: BlockWithIndex[];
constructor(blocks: BlockWithIndex[]);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
cloneOrThrow(): Blocks;
}
export declare namespace Blocks {
function readOrThrow(cursor: Cursor<ArrayBuffer>): Blocks;
}
export declare class BlockWithIndexPreHmacData {
readonly index: bigint;
readonly block: Unknown<ArrayBuffer>;
constructor(index: bigint, block: Unknown<ArrayBuffer>);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
}
export declare class BlockWithIndex {
readonly index: bigint;
readonly block: Block;
constructor(index: bigint, block: Block);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
cloneOrThrow(): BlockWithIndex;
verifyOrThrow(keys: MasterKeys): Promise<void>;
}
export declare namespace BlockWithIndex {
function fromOrThrow(keys: MasterKeys, index: bigint, data: Uint8Array<ArrayBuffer>): Promise<BlockWithIndex>;
}
export declare class Block {
readonly hmac: Unknown<ArrayBuffer, 32>;
readonly data: Unknown<ArrayBuffer>;
constructor(hmac: Unknown<ArrayBuffer, 32>, data: Unknown<ArrayBuffer>);
sizeOrThrow(): number;
writeOrThrow(cursor: Cursor<ArrayBuffer>): void;
cloneOrThrow(): Block;
}
export declare namespace Block {
function readOrThrow(cursor: Cursor<ArrayBuffer>): Block;
}