/** * 2FA setup QR rendering with a font-independent fallback. * * The compact QR uses Unicode half-block glyphs — some terminal fonts (web * terminals, fallback fonts without Block Elements) draw those as thin * dashes/underscores, making the QR unscannable (lab report 2026-08-19). * "big" mode instead paints SPACES with ANSI background colors: nothing to * scan depends on any glyph, only on color support. */ export type QrMode = 'small' | 'big'; /** * The otpauth account label. Every install used to render the same * "NebulaNotebook: local" entry, so a user running Nebula in two places got * two indistinguishable authenticator entries — and no way to tell which * 6-digit code belongs to which server. Host:port makes them self-labeling. * Colons are separators in the otpauth label grammar, so they are replaced. */ export declare function accountLabel(host: string, port: number | string): string; export declare function renderQr(otpAuthUrl: string, mode: QrMode): string; export declare function buildSetupInstructions(secret: string, otpAuthUrl: string, qrString: string): string;