/** * Sentry DSNs are configuration, but accepting a malformed one can turn an * opt-in crash relay into an unexpected network destination. Keep parsing * deliberately narrow and reconstruct public-key-bearing forms only at the * envelope boundary. */ export interface SentryDsn { readonly publicKey: string; readonly host: string; readonly projectId: string; readonly envelopeUrl: string; } /** * Parse only the public-key DSN form used by the relay. Secrets, query values, * fragments, and plaintext public destinations are all refused before a URL is * ever retained as a network target. */ export declare function parseSentryDsn(raw: string): SentryDsn | undefined; /** Reconstruct the DSN required in the envelope header, nowhere else. */ export declare function toDsnString(dsn: SentryDsn): string; /** Omit the public key from diagnostics so configuration can be logged safely. */ export declare function redactDsn(dsn: SentryDsn): string;