import type { Keyring } from "./keys.js";
export declare const SIGNING_KEY_LIFECYCLE_SPEC = "noa.signing-key-lifecycle/0.1";
export interface SigningKeyLifecycleEntry {
    readonly publicKey: string;
    readonly retiredAt: string | null;
}
export interface SigningKeyLifecycle {
    readonly spec: typeof SIGNING_KEY_LIFECYCLE_SPEC;
    readonly keys: Readonly<Record<string, SigningKeyLifecycleEntry>>;
}
export interface ParsedVerificationKeyring {
    readonly keyring: Keyring;
    readonly retiredKids: Readonly<Record<string, true>>;
    readonly lifecycle: boolean;
}
export type ParseVerificationKeyringResult = {
    readonly ok: true;
    readonly value: ParsedVerificationKeyring;
} | {
    readonly ok: false;
    readonly reason: string;
};
export declare function parseVerificationKeyring(document: Uint8Array | string, label?: string): ParseVerificationKeyringResult;
export type ResolveVerificationKeyResult = {
    readonly ok: true;
    readonly publicKey: string;
    readonly lifecycle: boolean;
} | {
    readonly ok: false;
    readonly reason: string;
};
export declare function resolveVerificationKey(document: Uint8Array | string, kid: string): ResolveVerificationKeyResult;
