import { z } from "zod";
declare const FetchDestSchema: z.ZodEnum<["audio", "audioworklet", "document", "embed", "empty", "font", "frame", "iframe", "image", "manifest", "object", "paintworklet", "report", "script", "serviceworker", "sharedworker", "style", "track", "video", "worker", "xslt"]>;
export type FetchDest = z.output<typeof FetchDestSchema>;
/**
 * Returns the value of the `Sec-Fetch-Dest` header.
 *
 * The `Sec-Fetch-Dest` header indicates the destination of the request and
 * can be used to know if the request came from a `fetch` call or not, among
 * other things.
 * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Dest
 * @example
 * // Detect if the request came from a fetch call and return
 * // json, otherwise return a redirect
 * export async function action({ request }: ActionFunctionArgs) {
 *   let dest = fetchDest(request);
 *   if (dest === "empty") return json(data)
 *   return redirect(destination)
 * }
 */
export declare function fetchDest(request: Request): FetchDest | null;
export declare function fetchDest(headers: Headers): FetchDest | null;
declare const FetchModeSchema: z.ZodEnum<["cors", "navigate", "no-cors", "same-origin", "websocket"]>;
export type FetchMode = z.output<typeof FetchModeSchema>;
/**
 * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Mode
 */
export declare function fetchMode(request: Request): FetchMode | null;
export declare function fetchMode(headers: Headers): FetchMode | null;
declare const FetchSiteSchema: z.ZodEnum<["cross-site", "same-origin", "same-site", "none"]>;
export type FetchSite = z.output<typeof FetchSiteSchema>;
/**
 * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site
 */
export declare function fetchSite(request: Request): FetchSite | null;
export declare function fetchSite(headers: Headers): FetchSite | null;
declare const FetchUserSchema: z.ZodLiteral<"?1">;
export type FetchUser = z.output<typeof FetchUserSchema>;
/**
 * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-User
 */
export declare function isUserInitiated(request: Request): boolean;
export declare function isUserInitiated(headers: Headers): boolean;
export {};
