import 'reflect-metadata'; import Vue, { ComponentOptions, PropOptions, Component, AsyncComponent, WatchOptions } from 'vue'; export declare function Prop(options?: PropOptions): Function; export declare function RouterParam(key?: string): Function; export declare function RouterQuery(key?: string): Function; export declare function Watch(propertyName: string, options?: WatchOptions): Function; export declare function Meta(): Function; export declare function Ref(key: string): Function; declare type ComponentDef = Component | AsyncComponent; export declare function Components(components: Record): Function; export declare class BaseComponent { protected $vue: Vue; get uid(): string; get vue(): Vue; getChildren(): BaseComponent[]; protected $emit(eventType: string, ...args: any[]): void; } export declare const $internalHooks: string[]; export declare function factory(target: typeof BaseComponent): ComponentOptions; export {};