import type { TunnelQrPayload } from './tunnel-types.js';
export type LanGatewayCandidate = {
    url: string;
    address: string;
    interfaceName: string;
};
/** Non-internal IPv4 addresses on this machine (independent of gateway bind mode). */
export declare function enumerateLanGatewayCandidates(port: number): LanGatewayCandidate[];
/** First non-internal IPv4 suitable for LAN QR (when gateway listens on 0.0.0.0). */
export declare function resolveLanGatewayUrl(gatewayHost: string, gatewayPort: number): string | null;
export declare function buildMobileConnectQrPayload(input: {
    publicUrl: string;
    lanUrl: string | null;
    pairingSecret: string;
    expiresAt?: string;
}): TunnelQrPayload;
