import { type HTMLAttributes } from 'react';
/**
* Gate for the URLs the terminal will navigate to. Allows only same-origin
* relative paths (`/…`) and explicit `http(s)` absolute URLs; rejects
* `javascript:` / `data:` / `vbscript:` and any other scheme.
*
* This terminal lives on public signing pages where `redirectUrl` may flow
* from a URL parameter, so a hostile `javascript:…` value must never reach
* `window.location.assign` (it would execute in the page). Exported for unit
* testing — it is NOT part of the public component API (`index.ts` does not
* re-export it).
*/
export declare function isNavigableUrl(url: string): boolean;
export interface FinishedTerminalProps extends Omit, 'title'> {
/** Completion headline — consumer-provided, already translated. */
title: string;
/** Completion sub-message — consumer-provided, already translated. */
body: string;
/**
* Auto-close countdown, in seconds. Default `10`. Set `0` to disable the
* countdown entirely (a static success screen with no next-step).
*/
autoCloseSeconds?: number;
/**
* Where to send the signer when the countdown elapses / "Close now" is
* pressed. When omitted, the terminal does a best-effort `window.close()`
* and falls back to `brandUrl`.
*
* @security Navigated to via `window.location.assign`. Only same-origin
* relative paths and `http(s)` absolute URLs are honoured — `javascript:` /
* `data:` values are dropped. Pass a value from trusted backend config.
*/
redirectUrl?: string;
/**
* Brand-site fallback used when there is no `redirectUrl` and the
* best-effort `window.close()` is blocked. Default `https://www.alfadocs.com`.
*
* @security Same navigation gate as `redirectUrl`.
*/
brandUrl?: string;
/**
* Override the default close/redirect behaviour (e.g. SPA routing, analytics,
* or a no-op in stories). When provided, the terminal does NO browser
* navigation of its own — it just calls this.
*/
onClose?: () => void;
/** Override the countdown line (default `ui.finishedTerminal.autoClose`). */
countdownLabel?: (seconds: number) => string;
/** Override the "Close now" label (default `ui.finishedTerminal.closeNow`). */
closeNowLabel?: string;
/** Override the post-close line (default `ui.finishedTerminal.redirecting`). */
redirectingLabel?: string;
}
export declare const FinishedTerminal: import("react").ForwardRefExoticComponent>;
//# sourceMappingURL=finished-terminal.d.ts.map