import { type Lock } from '../crypto/index.ts'; export type Draw = (length: number) => Uint8Array; export declare const LABEL: { readonly seal: Uint8Array; readonly edgeSeal: Uint8Array; readonly lock: Uint8Array; readonly edge: Uint8Array; readonly wardSign: Uint8Array; readonly wardSeal: Uint8Array; }; export declare class SigningKey { readonly secret: Uint8Array; readonly pk: Uint8Array; private constructor(); static from(secret: Uint8Array): Promise; static draw(draw: Draw): Promise; get id(): string; } export declare class Ephemeral { readonly secret: Uint8Array; readonly pk: Uint8Array; private constructor(); static from(secret: Uint8Array): Promise; static draw(draw: Draw): Promise; agree(pk: Uint8Array): Promise; } export declare class WardKey { readonly signing: SigningKey; readonly sealSecret: Uint8Array; readonly padlock: Uint8Array; private constructor(); static from(seed: Uint8Array | string): Promise; get pk(): string; open(lid: Uint8Array): Promise; } export declare const wardHalves: (pk: string) => { signing: string; padlock: string; }; export declare const drawLock: (draw: Draw) => Lock;