// Pull the in-Svelte virtual-module type augmentations into every consumer // that imports from `mochi-framework`. The triple-slash form is the only way // to load an ambient `declare module` without an actual import. // Asset-import declarations (`*.css`, `*.md`) live in `./mochi-ambient.d.ts` // and are exposed via the `mochi-framework/ambient` subpath; consumers opt // in by adding `/// ` to their // own `global.d.ts`. // eslint-disable-next-line @typescript-eslint/triple-slash-reference /// export { Mochi } from './Mochi'; export { build } from './cli/build'; export type { MochiBuildOptions } from './cli/build'; export { runTests } from './cli/testing'; export type { RunTestsOptions } from './cli/testing'; export type { MochiSvelteConfig } from './compiler/svelteConfig'; export type { MochiSvelteCompiler, SvelteCompilerBackend, SvelteCompileOutput } from './compiler/svelteCompilerBackend'; export { getRequestContext } from './runtime/requestContext'; export type { MochiRequestContext } from './runtime/requestContext'; export { getMochiConfig } from './mochiConfig'; export type { CookieSerializeOptions, Cookie } from './runtime/cookies'; export { MochiCache } from './cache/cache'; export type { MochiCacheOptions, CacheResult, CacheStatus, Storage, SweepOptions, SweepResult } from './cache/cache'; export { requestCache, requestMemo, getRequestCache } from './runtime/requestCache'; export type { MochiRequestCache, RequestMemoOptions } from './runtime/requestCache'; export { MemoryStorage, FileStorage, isBlobRef, readBlobRef } from './cache/cache-storage'; export type { FileStorageOptions, MemoryStorageOptions, BlobRef } from './cache/cache-storage'; export { getImageUrl, getImageAttrs, getImage, getImagePlaceholder, imagePlaceholder, warmImagePlaceholder, invalidateImage } from './image/imageApi'; export type { ResolvedImage, ImageAttrs } from './image/imageApi'; export type { MochiImageOptions, ImageSize, InvalidateImageOptions, ImageFormat, ImageFit, ImportedImage, ImportedImageFormat } from './image/types'; export { IMAGE_FILE_FILTER } from './compiler/imageAssetLoader'; export { EmailError } from './email/types'; export type { MochiEmailOptions, MochiEmailMessage, MochiEmailResult, MochiEmailAttachment, MochiEmailTransportConfig, MochiEmailSendFn, MochiSmtpConfig, ResolvedEmailMessage, } from './email/types'; export { sequence } from './runtime/hooks'; export { compress } from './middleware/compress'; export type { CompressOptions } from './middleware/compress'; export type { CompressionMethod } from './utils'; export { noCache } from './middleware/noCache'; export { consoleLogger, silenceInternalRoutes } from './dev/consoleLogger'; export type { ConsoleLoggerOptions } from './dev/consoleLogger'; export { logger, setLogLevel, getLogLevel } from './utils/log'; export type { LogLevel } from './utils/log'; export { mochiEvents, hasSubscribers } from './events'; export type { MochiCompileError } from './compiler/ComponentRegistry'; export type { MochiEmitter, MochiEventMap, MochiRequestEvent, MochiRequestKind, MochiWsOpenEvent, MochiWsMessageEvent, MochiWsCloseEvent, MochiSseOpenEvent, MochiSseMessageEvent, MochiSseCloseEvent, MochiFileChangeEvent, MochiFileChangeType, MochiIslandErrorEvent, MochiIslandErrorKind, MochiCacheStatus, MochiCacheReadEvent, MochiCacheRevalidateEvent, MochiCacheInflightDeferredEvent, MochiCacheDeleteEvent, MochiCacheSweepEvent, MochiImageCacheSweepEvent, MochiImageEntryKind, MochiImageStoreEvent, MochiImageDeleteReason, MochiImageDeleteEvent, MochiCacheRevalidateFailedEvent, MochiCacheErrorEvent, MochiQueueAddedEvent, MochiQueueActiveEvent, MochiQueueCompletedEvent, MochiQueueFailedEvent, MochiQueueErrorEvent, MochiEmailSentEvent, MochiEmailErrorEvent, MochiServerStartEvent, MochiServerStopEvent, MochiWarmupStartEvent, MochiWarmupCompleteEvent, MochiErrorEvent, MochiErrorKind, MochiActionInvokeEvent, MochiActionCompleteEvent, MochiActionResult, MochiCompileStartEvent, MochiCompileCompleteEvent, MochiCompileBatchCompleteEvent, MochiCompileErrorEvent, MochiCompileErrorLog, MochiRecompileStartEvent, MochiRecompileCompleteEvent, MochiRecompileTrigger, MochiClientBundleEvent, MochiCaptchaVerifyEvent, MochiCaptchaReason, } from './events'; export type { MochiQueue, MochiJob, MochiJobRef, MochiJobOptions, MochiQueueOptions, MochiQueueRuntimeOptions, MochiQueueListeners, MochiProcessor } from './queue'; export { DEFAULT_RECOVERY_STALL_WARNING_MS, DEFAULT_LOCK_DURATION_MS } from './queue'; export { json, error, apiError } from './utils'; export { trailingSlashIt } from './runtime/trailingSlash'; export { fail, redirect, success } from './runtime/forms'; export { isHydratable } from './islands/isHydratable'; export { mintCaptcha, verifyCaptcha, consumeCaptcha, solveCaptcha } from './captcha/captcha'; export { MemoryNonceStore, SqliteNonceStore } from './captcha/nonceStore'; export { DEFAULT_CAPTCHA_BITS, DEFAULT_CAPTCHA_MIN_AGE_MS, DEFAULT_CAPTCHA_DRIFT_ALLOWANCE_MS } from './captcha/config'; export type { MintedCaptcha } from './captcha/captcha'; export type { MochiCaptchaOptions, CaptchaResult, CaptchaFailureReason, NonceStore } from './captcha/types'; export { enhance, deserialize } from './runtime/enhance.ssr'; export { isFormContentType, DEFAULT_FORM_CONTENT_TYPES, DEFAULT_PROTECTED_METHODS } from './runtime/csrf'; export { DEFAULT_COMPRESS_MIN_BYTES, encryptPayload, decryptPayload } from './islands/payloadCrypto'; export type { EncryptOptions } from './islands/payloadCrypto'; export type { MochiCsrfOptions } from './runtime/csrf'; export type { MochiHooks, MochiFilters, MochiHookContext, MochiHookKindMap, MochiFilterContext, MochiFilterValue, MochiFilterReturn, MochiFilterKindMap, ConsoleLoggerSource, ConsoleLoggerLevel, ConsoleLoggerLine, } from './extensions'; export { getClientAddress, resolveExpectedOrigin } from './runtime/proxy'; export type { MochiProxyOptions } from './runtime/proxy'; export { memoryStore, sqliteStore, postgresStore } from './runtime/rateLimit'; export type { MochiRateLimitOptions, MochiRateLimitContext, MochiRateLimitKey, MochiRateLimitTier, MochiRateLimitSkip, MochiRateLimitGroup, MochiRateLimitInfo, MochiRateLimitStore, MochiRateLimitStoreResult, MochiRateLimitStoreBanResult, MochiRateLimitTierConfig, MochiRateLimitHeadersConfig, MochiRateLimitBanConfig, MochiRateLimitStoreErrorHandler, MochiRateLimitResponseFormatter, MochiSqliteStoreOptions, MochiPostgresStoreOptions, } from './runtime/rateLimit'; export type { Handle, HandleError, MochiErrorInfo, MochiEvent, MochiEventKind, MochiResolveOptions, MochiResolveFn } from './runtime/hooks'; export type { MarkdownConfig, MarkdownHighlighter, MochiErrorProps, MochiPageConfig, MochiApiConfig, MochiApiEvent, MochiApiHandler, MochiFormResult, MochiFormActions, MochiFormActionHandler, MochiFormEvent, MochiEnhanceOptions, MochiEnhanceResult, MochiFormShape, MochiSubmitFunction, MochiSubmitCallback, HttpMethod, MochiServeOptions, MochiWarmupOptions, MochiRouteValue, MochiWsConfig, MochiWsHandlers, MochiWsData, MochiSseConfig, MochiSseHandler, MochiSseStream, MochiFileConfig, MochiFileResolver, MochiQueueConfig, BunRouteValue, MochiSvelteShakerOptions, MochiBarrelWarningOptions, MochiBuildReportOptions, } from './types'; import type { Snippet } from 'svelte'; /** * Props helper for a `mochi:clientOnly` component, adding an optional `children` snippet so the SSR fallback passed as * children type-checks. That fallback is SSR-only placeholder markup and never reaches the component at runtime, so * leave `children` unrendered inside a client-only component. */ export type ClientOnlyProps = Omit & { children?: Snippet };