import { FunctionalComponent, ComponentPublicInstance, ComponentOptionsWithObjectProps, ComponentOptionsWithArrayProps, ComponentOptionsWithoutProps, ExtractPropTypes, VNodeProps, ComponentOptionsMixin, DefineComponent, MethodOptions, AllowedComponentProps, ComponentCustomProps, ExtractDefaultPropTypes, EmitsOptions, ComputedOptions, ComponentPropsOptions, Prop } from 'vue'; import { MountingOptions } from './types'; import { VueWrapper } from './vueWrapper'; declare type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps; declare type ComponentMountingOptions = T extends DefineComponent ? MountingOptions> & Omit> & PublicProps, keyof ExtractDefaultPropTypes>, D> & Record : MountingOptions; export declare function mount(originalComponent: { new (...args: any[]): V; __vccOpts: any; }, options?: MountingOptions & Record): VueWrapper>; export declare function mount(originalComponent: { new (...args: any[]): V; __vccOpts: any; defaultProps?: Record> | string[]; }, options?: MountingOptions

& Record): VueWrapper>; export declare function mount(originalComponent: { new (...args: any[]): V; registerHooks(keys: string[]): void; }, options?: MountingOptions & Record): VueWrapper>; export declare function mount(originalComponent: { new (...args: any[]): V; props(Props: P): any; registerHooks(keys: string[]): void; }, options?: MountingOptions

& Record): VueWrapper>; export declare function mount(originalComponent: FunctionalComponent, options?: MountingOptions & Record): VueWrapper>; export declare function mount, EE extends string = string, PP = PublicProps, Props = Readonly>, Defaults = ExtractDefaultPropTypes>(component: DefineComponent, options?: MountingOptions & Omit, D> & Record): VueWrapper>>; export declare function mount>(component: T, options?: ComponentMountingOptions): VueWrapper>; export declare function mount = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithoutProps, options?: MountingOptions): VueWrapper> & Record; export declare function mount = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string, Props extends Readonly<{ [key in PropNames]?: any; }> = Readonly<{ [key in PropNames]?: any; }>>(componentOptions: ComponentOptionsWithArrayProps, options?: MountingOptions): VueWrapper>; export declare function mount, RawBindings, D, C extends ComputedOptions = {}, M extends Record = {}, E extends EmitsOptions = Record, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithObjectProps, options?: MountingOptions & PublicProps, D>): VueWrapper, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes>>; export declare const shallowMount: typeof mount; export {};