import { g as RequestLogger } from "../types-B82IuY7M.mjs"; import { t as BaseMxllogOptions } from "../middleware-Cbh6eBkJ.mjs"; //#region src/sveltekit/index.d.ts declare const useLogger: >() => RequestLogger; type MxllogSvelteKitOptions = BaseMxllogOptions; /** * SvelteKit `Handle` function signature — avoids a hard dependency on `@sveltejs/kit`. */ type SvelteKitHandle = (input: { event: { request: Request; url: URL; locals: Record; }; resolve: (event: any) => Promise; }) => Promise; /** * SvelteKit `HandleServerError` signature — avoids a hard dependency on `@sveltejs/kit`. */ type SvelteKitHandleServerError = (input: { error: unknown; event: { request: Request; url: URL; locals: Record; }; status: number; message: string; }) => MaybePromise; type MaybePromise = T | Promise; /** Minimal SvelteKit `App.Error` shape */ interface AppError { message: string; [key: string]: unknown; } /** * Create an mxllog handle hook for SvelteKit. * * Add it to your `src/hooks.server.ts` using SvelteKit's `sequence` helper * or as the sole handle export. * * @example * ```ts * // src/hooks.server.ts * import { initLogger } from '@safaricom-mxl/log' * import { mxllog } from '@safaricom-mxl/log/sveltekit' * import { createAxiomDrain } from '@safaricom-mxl/log/axiom' * * initLogger({ env: { service: 'my-sveltekit-app' } }) * * export const handle = mxllog({ * drain: createAxiomDrain(), * enrich: (ctx) => { * ctx.event.region = process.env.FLY_REGION * }, * }) * ``` * * @example * ```ts * // Compose with other hooks using sequence * import { sequence } from '@sveltejs/kit/hooks' * import { mxllog } from '@safaricom-mxl/log/sveltekit' * * export const handle = sequence(mxllog(), yourOtherHook) * ``` */ declare function mxllog(options?: MxllogSvelteKitOptions): SvelteKitHandle; /** * Create an mxllog error handler for SvelteKit. * * Logs unhandled errors via `event.locals.log` (if available) and returns * structured error responses for `MxllogError` instances. For non-mxllog errors, * returns a generic error response with sanitized messages in production. * * @example * ```ts * // src/hooks.server.ts * import { mxllog, mxllogHandleError } from '@safaricom-mxl/log/sveltekit' * * export const handle = mxllog() * export const handleError = mxllogHandleError() * ``` */ declare function mxllogHandleError(): SvelteKitHandleServerError; /** * Create both `handle` and `handleError` hooks in a single call. * * This is the recommended setup for SvelteKit — it returns both hooks * pre-configured and ready to export from `hooks.server.ts`. * * @example * ```ts * // src/hooks.server.ts * import { initLogger } from '@safaricom-mxl/log' * import { createMxllogHooks } from '@safaricom-mxl/log/sveltekit' * import { createAxiomDrain } from '@safaricom-mxl/log/axiom' * * initLogger({ env: { service: 'my-app' } }) * * export const { handle, handleError } = createMxllogHooks({ * drain: createAxiomDrain(), * enrich: (ctx) => { * ctx.event.region = process.env.FLY_REGION * }, * }) * ``` * * @example * ```ts * // Compose with other hooks using sequence * import { sequence } from '@sveltejs/kit/hooks' * import { createMxllogHooks } from '@safaricom-mxl/log/sveltekit' * * const mxllogHooks = createMxllogHooks() * * export const handle = sequence(mxllogHooks.handle, yourOtherHook) * export const handleError = mxllogHooks.handleError * ``` */ declare function createMxllogHooks(options?: MxllogSvelteKitOptions): { handle: SvelteKitHandle; handleError: SvelteKitHandleServerError; }; //#endregion export { MxllogSvelteKitOptions, createMxllogHooks, mxllog, mxllogHandleError, useLogger }; //# sourceMappingURL=index.d.mts.map