import * as _nuxt_schema from '@nuxt/schema'; import { Nuxt, RuntimeConfig } from '@nuxt/schema'; import { H3Event } from 'h3'; type ProviderSetup = (providerOptions: ImageModuleProvider, moduleOptions: ModuleOptions, nuxt: Nuxt) => void | Promise; interface InputProvider { name?: string; provider?: string; options?: T; setup?: ProviderSetup; } interface ProviderDefaults { } interface ConfiguredImageProviders { } interface ImageProviders { } interface ImageModuleProvider { name: string; importName: string; options: any; provider: string; runtime: string; runtimeOptions: any; setup: ProviderSetup; } interface ImageModifiers { width: number | string; height: number | string; fit: string; format: string; quality: string | number; background: string; blur: number; } interface ResolvedImageModifiers extends ImageModifiers { width: number; height: number; } type DefaultProvider = ProviderDefaults extends Record<'provider', unknown> ? ProviderDefaults['provider'] : never; interface ImageOptions { provider?: Provider; preset?: string; densities?: string; modifiers?: Partial> & ('modifiers' extends keyof ConfiguredImageProviders[Provider] ? ConfiguredImageProviders[Provider]['modifiers'] : Record); sizes?: string | Record; } interface ImageSizesOptions extends ImageOptions { sizes: Record | string; } type ProviderGetImage> = (src: string, options: Omit & { modifiers: Partial; } & T, ctx: ImageCTX) => ResolvedImage; interface ImageModifierOptions { modifiers?: Record; } interface ImageProvider extends ImageModifierOptions { defaults?: T; getImage: ProviderGetImage; validateDomains?: boolean; supportsAlias?: boolean; } interface CreateImageOptions { providers: Record ImageProvider>; }>; nuxt: { baseURL: string; }; event?: H3Event; presets: { [name: string]: ImageOptions; }; provider: (string & {}) | keyof ImageProviders; screens: Record; alias: Record; domains: string[]; densities: number[]; format: string[]; quality?: number; runtimeConfig: RuntimeConfig; } interface ImageInfo { width: number; height: number; placeholder?: string; } interface ResolvedImage { url: string; format?: string; getMeta?: () => Promise; } interface ImageSizes { srcset: string; sizes: string | undefined; src?: string; } interface Img { (source: string, modifiers?: ImageOptions['modifiers'], options?: ImageOptions): ResolvedImage['url']; options: CreateImageOptions; getImage: (source: string, options?: ImageOptions) => ResolvedImage; getSizes: (source: string, options?: ImageOptions, sizes?: string[]) => ImageSizes; getMeta: (source: string, options?: ImageOptions) => Promise; } type $Img = Img & { [preset: string]: $Img; }; interface ImageCTX { options: CreateImageOptions; $img?: $Img; } type OperationMapper = Record, To> | ((key?: From) => To | From | undefined); type OperationGeneratorConfig = { keyMap?: Partial>; valueMap?: Partial, FinalValue>> | ((key: Value) => Value | FinalValue)>>; } & ({ formatter?: (key: FinalKey, value: FinalValue) => string; joinWith?: undefined; } | { formatter: (key: FinalKey, value: FinalValue) => string; joinWith: string; }); interface ImageSizesVariant { size?: string; screenMaxWidth: number; _cWidth: number; _cHeight?: number | undefined; } interface ModuleOptions extends ImageProviders { inject: boolean; provider: CreateImageOptions['provider']; presets: { [name: string]: ImageOptions; }; dir: string; dirs: string[]; domains: string[]; alias: Record; screens: CreateImageOptions['screens']; providers: { [name: string]: InputProvider | any; }; densities: number[]; format: CreateImageOptions['format']; quality?: CreateImageOptions['quality']; } declare const _default: _nuxt_schema.NuxtModule; export { _default as default }; export type { $Img, ConfiguredImageProviders, CreateImageOptions, ImageCTX, ImageInfo, ImageModifiers, ImageModuleProvider, ImageOptions, ImageProvider, ImageProviders, ImageSizes, ImageSizesOptions, ImageSizesVariant, Img, InputProvider, ModuleOptions, OperationGeneratorConfig, OperationMapper, ProviderDefaults, ProviderGetImage, ProviderSetup, ResolvedImage, ResolvedImageModifiers };