import * as _nuxt_schema from '@nuxt/schema'; /** * All supported rules */ type LazyLoadRule = "windowWidthGreaterThan" | "windowWidthLessThan"; /** * Configuration for rules related to screen width */ type LazyLoadRuleScreenSize = { width: number; }; /** * Rule / Configuration configmap */ interface LazyLoadRuleConfigMap { windowWidthGreaterThan: LazyLoadRuleScreenSize; windowWidthLessThan: LazyLoadRuleScreenSize; } type LazyLoadRuleConfiguration = { [key in LazyLoadRule]?: LazyLoadRuleConfigMap[key]; }; interface LazyFile extends LazyLoadRuleConfiguration { /** * filepath (with name) of the specific file you want to load. This is relative to nuxt.options.rootDir * @required */ filePath: string; /** * If you want the resulting file to have a different name than the input file. This is relative to nuxt.options.rootDir * @default undefined */ outputFilename?: string; } interface ModuleOptions extends LazyLoadRuleConfiguration { /** * What directory in your end build ("dist" by default) do you want the files to be in ? * This is the base directory, will be used so the plugin knows where the files that * need to be loaded are * @default "assets/css" */ outputDir?: string; /** * Path to a directory to process all of the files in it. Works recursively * @default undefined */ inputDir?: string; /** * Configuration of specific files you want to lazy load * @default undefined */ files?: { css: LazyFile[]; }; /** * Whether or not you want the plugin enabled * @default true */ plugin?: boolean; /** * Sets the log level from the module to verbose instead of the default, which is warn * @default undefined */ verbose?: boolean; } interface LazyLoadProcessedFiles { /** * Path + filename that lead to the file that was processed and is now in the dir specified * by outputDir * @see ModuleOptions * @default "assets/css" */ path: string; /** * What rules are being applied to the file the path points to */ rules: LazyLoadRuleConfiguration; } declare const _default: _nuxt_schema.NuxtModule; export { _default as default }; export type { LazyFile, LazyLoadProcessedFiles, LazyLoadRule, LazyLoadRuleConfiguration, LazyLoadRuleScreenSize, ModuleOptions };