import * as _nuxt_schema from '@nuxt/schema'; import { Nuxt } from '@nuxt/schema'; import { ZlibOptions } from 'node:zlib'; import { FSStorageOptions } from 'unstorage/drivers/fs'; import { S3DriverOptions } from 'unstorage/drivers/s3'; import { RedisOptions } from 'unstorage/drivers/redis'; interface MemoryOptions { /** * Optional prefix to use for all keys. Can be used for namespacing. */ base?: string; /** * Time-to-live for items in milliseconds. */ ttl?: number; /** * Whether to store metadata for each item. * @default true */ meta?: boolean; /** * Whether to automatically purge expired items. * @default true */ ttlAutoPurge?: boolean; /** * Whether to track the size of items in bytes. * @default false */ trackSize?: boolean; } interface ParseExtReturn { file: string | undefined; type: 'json' | 'toml' | 'yaml' | 'markdown' | 'unknown'; env?: 'dev' | 'demo' | undefined; path?: string | undefined; ext?: string | undefined; } interface CMSModuleOptions { dir?: string; addRoute?: boolean; prerender?: boolean; } interface DevPagesModuleOptions { env?: string | undefined; isPreview?: boolean; } interface ModuleOptions { cache?: 'mem' | 'fs' | 's3' | 'kv' | null; mem?: MemoryOptions; fs?: FSStorageOptions; s3?: boolean | S3DriverOptions; kv?: boolean | RedisOptions; zlib?: boolean | ZlibOptions; valibot?: boolean; monacoEditor?: boolean; cms?: boolean | CMSModuleOptions; devPages?: boolean | DevPagesModuleOptions; } declare const _default: _nuxt_schema.NuxtModule; declare module '@nuxt/schema' { interface RuntimeConfig { lab: { cache?: 'mem' | 'fs' | 's3' | 'kv' | null; mem?: MemoryOptions; fs?: FSStorageOptions; s3?: S3DriverOptions; kv?: RedisOptions; zlib?: ZlibOptions; }; } interface NuxtHooks { 'lab:cms:scannedFiles': (scannedFiles: Record, nuxt: Nuxt) => void; } } declare module 'nitropack' { interface NitroRuntimeHooks { 'lab:mem:config': (options: RedisOptions) => void; 'lab:fs:config': (options: FSStorageOptions) => void; 'lab:s3:config': (options: S3DriverOptions) => void; 'lab:kv:config': (options: RedisOptions) => void; 'lab:zlib:config': (options: ZlibOptions) => void; } } export { type ModuleOptions, _default as default };