/** Stripe Customer Portal uses this exact host; never trust a returned URL by type alone. */
export declare function validateStripePortalUrl(raw: unknown): string;
export type OpenBrowserResult = {
    isOpened: boolean;
    /** Why a browser was not opened (headless / explicit / failed). */
    reason?: 'headless' | 'disabled' | 'failed' | 'unsupported';
};
/**
 * Detect environments where opening a GUI browser is impossible/undesirable.
 */
export declare function isHeadlessEnvironment(env?: NodeJS.ProcessEnv): boolean;
/**
 * Best-effort open of a URL in the user's default browser.
 */
export declare function openUrlInBrowser(url: string, env?: NodeJS.ProcessEnv): OpenBrowserResult;
/**
 * Build the device-auth verification URL on the configured One origin.
 * Ignores a mis-reported host so `vigilbase login` always opens Vigilbase One.
 */
/** Format user codes like ABCD-EFGH for easier reading aloud. */
export declare function formatUserCode(code: string): string;
export declare function resolveDeviceVerificationUrl(oneBaseUrl: string, device: {
    user_code: string;
    verification_uri?: string;
    verification_uri_complete?: string;
}): string;
