import * as vue from 'vue'; import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue'; interface FilterPropsOptions, Props = ExtractPropTypes> { filterProps, U extends Exclude>>(props: T): Partial>; } interface srcObject { src?: string; srcset?: string; lazySrc?: string; aspect: number; } declare const VImg: { new (...args: any[]): vue.CreateComponentPublicInstance<{ inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; } & { height?: string | number | undefined; width?: string | number | undefined; aspectRatio?: string | number | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: string | undefined; draggable?: boolean | "false" | "true" | undefined; class?: any; referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined; alt?: string | undefined; crossorigin?: "" | "anonymous" | "use-credentials" | undefined; sizes?: string | undefined; srcset?: string | undefined; contentClass?: string | undefined; rounded?: string | number | boolean | undefined; gradient?: string | undefined; lazySrc?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; placeholder?: (() => vue.VNodeChild) | undefined; error?: (() => vue.VNodeChild) | undefined; sources?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; placeholder?: false | (() => vue.VNodeChild) | undefined; error?: false | (() => vue.VNodeChild) | undefined; sources?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined; "v-slot:error"?: false | (() => vue.VNodeChild) | undefined; "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined; } & { onError?: ((value: string | undefined) => any) | undefined; onLoad?: ((value: string | undefined) => any) | undefined; onLoadstart?: ((value: string | undefined) => any) | undefined; }, { currentSrc: vue.ShallowRef; image: vue.Ref; state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">; naturalWidth: vue.ShallowRef; naturalHeight: vue.ShallowRef; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { loadstart: (value: string | undefined) => true; load: (value: string | undefined) => true; error: (value: string | undefined) => true; }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & { inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; } & { height?: string | number | undefined; width?: string | number | undefined; aspectRatio?: string | number | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: string | undefined; draggable?: boolean | "false" | "true" | undefined; class?: any; referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined; alt?: string | undefined; crossorigin?: "" | "anonymous" | "use-credentials" | undefined; sizes?: string | undefined; srcset?: string | undefined; contentClass?: string | undefined; rounded?: string | number | boolean | undefined; gradient?: string | undefined; lazySrc?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; placeholder?: (() => vue.VNodeChild) | undefined; error?: (() => vue.VNodeChild) | undefined; sources?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; placeholder?: false | (() => vue.VNodeChild) | undefined; error?: false | (() => vue.VNodeChild) | undefined; sources?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined; "v-slot:error"?: false | (() => vue.VNodeChild) | undefined; "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined; } & { onError?: ((value: string | undefined) => any) | undefined; onLoad?: ((value: string | undefined) => any) | undefined; onLoadstart?: ((value: string | undefined) => any) | undefined; }, { inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; draggable: boolean | "false" | "true"; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; rounded: string | number | boolean; }, true, {}, vue.SlotsType vue.VNode[]; placeholder: () => vue.VNode[]; error: () => vue.VNode[]; sources: () => vue.VNode[]; }>>, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; } & { height?: string | number | undefined; width?: string | number | undefined; aspectRatio?: string | number | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: string | undefined; draggable?: boolean | "false" | "true" | undefined; class?: any; referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined; alt?: string | undefined; crossorigin?: "" | "anonymous" | "use-credentials" | undefined; sizes?: string | undefined; srcset?: string | undefined; contentClass?: string | undefined; rounded?: string | number | boolean | undefined; gradient?: string | undefined; lazySrc?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; placeholder?: (() => vue.VNodeChild) | undefined; error?: (() => vue.VNodeChild) | undefined; sources?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; placeholder?: false | (() => vue.VNodeChild) | undefined; error?: false | (() => vue.VNodeChild) | undefined; sources?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined; "v-slot:error"?: false | (() => vue.VNodeChild) | undefined; "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined; } & { onError?: ((value: string | undefined) => any) | undefined; onLoad?: ((value: string | undefined) => any) | undefined; onLoadstart?: ((value: string | undefined) => any) | undefined; }, { currentSrc: vue.ShallowRef; image: vue.Ref; state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">; naturalWidth: vue.ShallowRef; naturalHeight: vue.ShallowRef; }, {}, {}, {}, { inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; draggable: boolean | "false" | "true"; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; rounded: string | number | boolean; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; } & { height?: string | number | undefined; width?: string | number | undefined; aspectRatio?: string | number | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: string | undefined; draggable?: boolean | "false" | "true" | undefined; class?: any; referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined; alt?: string | undefined; crossorigin?: "" | "anonymous" | "use-credentials" | undefined; sizes?: string | undefined; srcset?: string | undefined; contentClass?: string | undefined; rounded?: string | number | boolean | undefined; gradient?: string | undefined; lazySrc?: string | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; placeholder?: (() => vue.VNodeChild) | undefined; error?: (() => vue.VNodeChild) | undefined; sources?: (() => vue.VNodeChild) | undefined; }; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; placeholder?: false | (() => vue.VNodeChild) | undefined; error?: false | (() => vue.VNodeChild) | undefined; sources?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined; "v-slot:error"?: false | (() => vue.VNodeChild) | undefined; "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined; } & { onError?: ((value: string | undefined) => any) | undefined; onLoad?: ((value: string | undefined) => any) | undefined; onLoadstart?: ((value: string | undefined) => any) | undefined; }, { currentSrc: vue.ShallowRef; image: vue.Ref; state: vue.ShallowRef<"error" | "loaded" | "idle" | "loading">; naturalWidth: vue.ShallowRef; naturalHeight: vue.ShallowRef; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { loadstart: (value: string | undefined) => true; load: (value: string | undefined) => true; error: (value: string | undefined) => true; }, string, { inline: boolean; transition: string | boolean | (vue.TransitionProps & { component?: vue.Component | undefined; }); style: vue.StyleValue; draggable: boolean | "false" | "true"; eager: boolean; options: IntersectionObserverInit; cover: boolean; src: string | srcObject; rounded: string | number | boolean; }, {}, string, vue.SlotsType vue.VNode[]; placeholder: () => vue.VNode[]; error: () => vue.VNode[]; sources: () => vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ transition: { type: PropType; default: string; validator: (val: unknown) => boolean; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; class: PropType; style: { type: PropType; default: null; }; height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; aspectRatio: (StringConstructor | NumberConstructor)[]; contentClass: StringConstructor; inline: BooleanConstructor; alt: StringConstructor; cover: BooleanConstructor; color: StringConstructor; draggable: { type: PropType; default: undefined; }; eager: BooleanConstructor; gradient: StringConstructor; lazySrc: StringConstructor; options: { type: PropType; default: () => { root: undefined; rootMargin: undefined; threshold: undefined; }; }; sizes: StringConstructor; src: { type: PropType; default: string; }; crossorigin: PropType<"" | "anonymous" | "use-credentials">; referrerpolicy: PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">; srcset: StringConstructor; position: StringConstructor; }, vue.ExtractPropTypes<{ transition: { type: PropType; default: string; validator: (val: unknown) => boolean; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; class: PropType; style: { type: PropType; default: null; }; height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; aspectRatio: (StringConstructor | NumberConstructor)[]; contentClass: StringConstructor; inline: BooleanConstructor; alt: StringConstructor; cover: BooleanConstructor; color: StringConstructor; draggable: { type: PropType; default: undefined; }; eager: BooleanConstructor; gradient: StringConstructor; lazySrc: StringConstructor; options: { type: PropType; default: () => { root: undefined; rootMargin: undefined; threshold: undefined; }; }; sizes: StringConstructor; src: { type: PropType; default: string; }; crossorigin: PropType<"" | "anonymous" | "use-credentials">; referrerpolicy: PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">; srcset: StringConstructor; position: StringConstructor; }>>; type VImg = InstanceType; export { VImg };