import { Directive } from 'vue';
import { SFCInstallWithContext, SFCWithInstall } from './typescript';
export declare function withInstall<T, E extends Record<string, any>>(main: T, extra?: E): SFCWithInstall<T> & E;
export declare function withInstallFunction<T>(fn: T, name: string): SFCInstallWithContext<T>;
export declare function withInstallDirective<T extends Directive>(directive: T, name: string): SFCWithInstall<T>;
export declare function withNoopInstall<T>(component: T): SFCWithInstall<T>;
