import type { ImageModifiers } from '@nuxt/image'; import type { BoosterProvide, CrossOrigin, ISource } from '../../../../module.js'; import type { Link } from '@unhead/vue'; export default class Source implements ISource { src: string; media?: string; sizes?: Record; width?: number; height?: number; format?: string; quality?: number; preload?: boolean; modifiers?: Partial; provider?: string; preset?: string; densities?: string; constructor({ src, sizes, width, height, media, quality, format, preload, modifiers, provider, preset, densities }: Source); get key(): string; get ratio(): number; get className(): string; get style(): string; getModifiers(): { format: string | undefined; quality: number | undefined; width?: string | number | undefined; height?: string | number | undefined; fit?: string | undefined; background?: string | undefined; blur?: number | undefined; }; getOptions($booster: BoosterProvide): { imageOptions: { provider: string | undefined; preset: string | undefined; densities: string; }; }; getMeta(compiledSrc: string, $booster: BoosterProvide): Promise; getPreload(srcset: string, sizes?: string, crossorigin?: CrossOrigin): Link; modify(config: Partial): Source; toJSON(): { src: string; sizes: Record | undefined; media: string | undefined; width: number | undefined; height: number | undefined; format: string | undefined; quality: number | undefined; preload: boolean | undefined; modifiers: Partial | undefined; provider: string | undefined; preset: string | undefined; densities: string | undefined; }; static create(...args: [Source]): Source; } export declare function normalizeSrc(src: string): string;