import { Temporal } from "@js-temporal/polyfill";
import { URLPattern } from "urlpattern-polyfill";
import "../kv-DRaeSXco.js";
import "../docloader-Q42SMRIB.js";
import "../client-DvtwXO7t.js";
import "../vocab-CzEfWQk2.js";
import "../actor-CPpvuBKU.js";
import "../http-DMTrO3Ye.js";
import "../owner-D0cOz8R5.js";
import "../mod-CDzlVCUF.js";
import "../lookup-Bf-K85bV.js";
import { Federation } from "../context-OBWjptjU.js";
import "../mq-DYKDDJmp.js";

//#region x/sveltekit.d.ts
type RequestEvent = {
  request: Request;
};
type HookParams = {
  event: RequestEvent;
  resolve: (event: RequestEvent) => Promise<Response>;
};
/**
 * Create a SvelteKit hook handler to integrate with the {@link Federation}
 * object.
 *
 * @example hooks.server.ts
 * ``` typescript
 * import { federation } from "./federation"; // Import the `Federation` object
 *
 * export const handle = fedifyHook(federation, () => undefined);
 * ```
 *
 * @typeParam TContextData A type of the context data for the {@link Federation}
 *                         object.
 * @param federation A {@link Federation} object to integrate with SvelteKit.
 * @param createContextData A function to create a context data for the
 *                          {@link Federation} object.
 * @returns A SvelteKit hook handler.
 * @since 1.3.0
 */
declare function fedifyHook<TContextData>(federation: Federation<TContextData>, createContextData: (event: RequestEvent) => TContextData | Promise<TContextData>): (params: HookParams) => Promise<Response>;
//#endregion
export { fedifyHook };