import { AthenaAuthUiOptions } from '../lib/auth/core/ui-options.js'; type AuthUiRoutes = NonNullable["routes"]>; declare const PAGE_ROUTE_KEYS: readonly ["checkEmail", "forgotPassword", "resetEmailSent", "resetPassword", "settings", "signIn", "signOut", "signUp"]; export type AthenaNextAuthRoutingPageRouteKey = (typeof PAGE_ROUTE_KEYS)[number]; /** * Sparse App Router page paths. Omit a key to keep the current Better Auth * `basePath` / `viewPaths` default (for example `/auth/forgot-password`). * * There is no topology preset (`flat`, `auth`, …). Callers list only the * paths they own. */ export type AthenaNextAuthRoutingPageRoutes = Partial>; export interface AthenaNextAuthRoutingContinuation { fallback?: string; params?: readonly string[]; } /** * Next-only routing overlay. Every field is optional; unspecified page * routes keep existing Auth UI defaults. */ export interface AthenaNextAuthRouting { continuation?: AthenaNextAuthRoutingContinuation; routes?: AthenaNextAuthRoutingPageRoutes; } export declare const ATHENA_NEXT_AUTH_DEFAULT_CONTINUATION_PARAMS: readonly ["redirectTo", "next"]; /** * Merge listed `routing.routes` under existing `ui.auth.routes`. * * Only defined keys are written. Explicit `ui.auth.routes` win. After-auth * destinations (`afterSignIn`, …) are not taken from `routing.routes`. */ export declare function applyNextAuthRoutingToUi(ui: AthenaAuthUiOptions | undefined, routes: AthenaNextAuthRoutingPageRoutes | undefined): AthenaAuthUiOptions | undefined; /** * Post-auth continuation for the `redirectTo` prop. * * `ui.auth.routes.afterSignIn` is resolved later by Auth UI and is not copied * here. Precedence for this prop: * explicit `redirectTo` → safe query params → `continuation.fallback`. */ export declare function resolveNextAuthContinuationRedirect(input: { continuation?: AthenaNextAuthRoutingContinuation; explicitRedirectTo?: string; getQueryParam?: (name: string) => string | null; }): string | undefined; export declare function collectNextAuthRoutingConflictWarnings(input: { basePath?: string; redirectTo?: string; routing: AthenaNextAuthRouting; ui?: AthenaAuthUiOptions; viewPaths?: Record; }): string[]; export {};