//#region src/utils/url-utils.d.ts
/**
 * Determines if a Sentry instance is SaaS or self-hosted based on the host.
 * @param host The Sentry host (e.g., "sentry.io" or "sentry.company.com")
 * @returns true if SaaS instance, false if self-hosted
 */
declare function isSentryHost(host: string): boolean;
/**
 * Generates a Sentry issue URL.
 * @param host The Sentry host (may include regional subdomain for API access)
 * @param organizationSlug Organization identifier
 * @param issueId Issue identifier (e.g., "PROJECT-123")
 * @returns The complete issue URL
 */
declare function getIssueUrl(host: string, organizationSlug: string, issueId: string): string;
/**
 * Generates a Sentry issues search URL.
 * @param host The Sentry host (may include regional subdomain for API access)
 * @param organizationSlug Organization identifier
 * @param query Optional search query
 * @param projectSlugOrId Optional project slug or ID
 * @returns The complete issues search URL
 */
declare function getIssuesSearchUrl(host: string, organizationSlug: string, query?: string | null, projectSlugOrId?: string): string;
/**
 * Generates a Sentry trace URL for performance investigation.
 * @param host The Sentry host (may include regional subdomain for API access)
 * @param organizationSlug Organization identifier
 * @param traceId Trace identifier
 * @returns The complete trace URL
 */
declare function getTraceUrl(host: string, organizationSlug: string, traceId: string): string;
/**
 * Generates a Sentry events explorer URL.
 * @param host The Sentry host (may include regional subdomain for API access)
 * @param organizationSlug Organization identifier
 * @param query Search query
 * @param dataset Dataset type
 * @param projectSlug Optional project slug
 * @param fields Optional fields to display
 * @returns The complete events explorer URL
 */
declare function getEventsExplorerUrl(host: string, organizationSlug: string, query: string, dataset?: "spans" | "errors" | "logs", projectSlug?: string, fields?: string[]): string;
/**
 * Validates that a SENTRY_HOST value contains only hostname (no protocol).
 * Exits the process with error code 1 if validation fails (CLI behavior).
 *
 * @param host The hostname to validate
 */
declare function validateSentryHost(host: string): void;
/**
 * Validates that a SENTRY_URL value is a valid HTTPS URL and extracts the hostname.
 * Exits the process with error code 1 if validation fails (CLI behavior).
 *
 * @param url The HTTPS URL to validate and parse
 * @returns The extracted hostname from the URL
 */
declare function validateAndParseSentryUrl(url: string): string;
/**
 * Validates that a SENTRY_HOST value contains only hostname (no protocol).
 * Throws an error instead of exiting the process (for testing).
 *
 * @param host The hostname to validate
 * @throws {Error} If the host contains a protocol
 */
declare function validateSentryHostThrows(host: string): void;
/**
 * Validates that a SENTRY_URL value is a valid HTTPS URL and extracts the hostname.
 * Throws an error instead of exiting the process (for testing).
 *
 * @param url The HTTPS URL to validate and parse
 * @returns The extracted hostname from the URL
 * @throws {Error} If the URL is invalid or not HTTPS
 */
declare function validateAndParseSentryUrlThrows(url: string): string;
/**
 * Validates that the provided OpenAI base URL is a valid HTTP(S) URL and returns a normalized string.
 *
 * @param url The URL to validate and normalize
 * @returns The normalized URL string
 * @throws {Error} If the URL is empty, invalid, or uses an unsupported protocol
 */
declare function validateOpenAiBaseUrlThrows(url: string): string;
//# sourceMappingURL=url-utils.d.ts.map
//#endregion
export { getEventsExplorerUrl, getIssueUrl, getIssuesSearchUrl, getTraceUrl, isSentryHost, validateAndParseSentryUrl, validateAndParseSentryUrlThrows, validateOpenAiBaseUrlThrows, validateSentryHost, validateSentryHostThrows };
//# sourceMappingURL=url-utils.d.ts.map