import type { ClientErrorStatusCode } from 'hono/utils/http-status';
import type { Context } from 'hono';
import type { Store } from '../store';
import type { REDOCLY_ROUTE_RBAC, REDOCLY_TEAMS_RBAC, RbacScopeItems } from '@redocly/config';
export declare function handleUnauthorized(ctx: Context, store: Store, accessedRouteSlug: string, idpIdHint?: string): Promise<Response>;
export declare function handleErrorPageRender(ctx: Context, store: Store, options: {
    slug: string;
    [REDOCLY_TEAMS_RBAC]?: RbacScopeItems;
    [REDOCLY_ROUTE_RBAC]?: {
        slug?: string;
        fsPath?: string;
    };
}, statusCode: ClientErrorStatusCode, templateId?: string): Promise<Response>;
export declare function getLoginUrlWithRedirect(redirectTo: string): string;
export declare function handleUnauthorizedAsset(ctx: Context): Promise<Response & import("hono").TypedResponse<"Forbidden", 100 | -1 | 500 | 400 | 200 | 302 | 401 | 300 | 403 | 301 | 102 | 103 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 303 | 305 | 306 | 307 | 308 | 402 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "text">>;
export declare function handleUnauthorizedApiRequest(ctx: Context): Response & import("hono").TypedResponse<{
    message: string;
}, 100 | -1 | 500 | 400 | 200 | 302 | 401 | 300 | 403 | 301 | 102 | 103 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 303 | 305 | 306 | 307 | 308 | 402 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
/**
 * Normalize the IP address to an IPv4 address.
 * @param address - The IP address to normalize.
 * @returns The normalized IP address.
 */
export declare function normalizeIpAddress(address?: string): string | undefined;
//# sourceMappingURL=utils.d.ts.map