import { z } from 'zod'; import type { HandlerResponse } from './types.js'; declare const QuickstartSpecSchema: z.ZodObject<{ appType: z.ZodEnum<{ spa: "spa"; webapp: "webapp"; native: "native"; }>; defaultAppOrigin: z.ZodObject<{ scheme: z.ZodString; domain: z.ZodUnion]>; port: z.ZodOptional; }, z.core.$strip>; callbackPath: z.ZodString; logoutPath: z.ZodString; llmPromptPath: z.ZodOptional; envSnippet: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"var">; name: z.ZodString; value: z.ZodString; comment: z.ZodOptional; sensitive: z.ZodOptional; }, z.core.$strip>], "type">>; }, z.core.$strip>>; placeholders: z.ZodRecord; inputs: z.ZodRecord; environment: z.ZodRecord; }, z.core.$strip>; export type QuickstartSpec = z.infer & { llmPromptUrl?: string; }; export type QuickstartAppType = QuickstartSpec['appType']; export type DefaultAppOrigin = QuickstartSpec['defaultAppOrigin']; export declare const fetchQuickstartSpec: (framework: string) => Promise; /** * Whether `raw` is a well-formed SHA256 certificate fingerprint (64 hex digits). Deliberately * lenient on separators and case so a paste from `./gradlew signingReport` or `keytool` is accepted * either way. Does not transform the value; the original is registered as-is. */ export declare function isValidSha256Fingerprint(raw: string): boolean; /** * Whether `raw` is a well-formed Android package name. Beyond catching typos, this keeps the value * safe to concatenate into the callback URL path (%APPLICATION_ID%), which is never re-parsed or * escaped downstream. */ export declare function isValidAndroidPackageName(raw: string): boolean; /** * Whether `raw` is a scheme usable in Auth0.Android's `` intent filter. * Lowercase-only: `WebAuthProvider.withScheme` warns but does not normalize, so an uppercase value * survives into the redirect_uri and fails as a dead redirect after login. Also gated because the * value reaches the `%AUTH0_SCHEME%` prompt token and the callback URL unescaped. */ export declare function isValidAndroidScheme(raw: string): boolean; /** * Canonical identity form of a fingerprint: separators stripped, lowercased. Used only for * equality/dedup — the caller's original text is what gets registered. */ export declare function normalizeFingerprint(raw: string): string; /** * Validate the Android-only callback configuration inputs. Returns null when they are valid (or * not Android). * * Values are format-checked, not just checked for presence: each flows unescaped into the * registered callback URL and/or the LLM prompt. Every problem is reported in one message, with a * hint on where to source each value, so the caller can gather everything in a single pass. */ export declare function validateAndroidInputs(params: { isAndroid: boolean; applicationId?: string; callbackUrlType?: string; androidSha256Fingerprint?: string; auth0Scheme?: string; baseUrl?: string; }): HandlerResponse | null; export {};