import type { App, Component, Directive } from "vue";
import type { SFCWithInstall, SFCInstallWithContext } from "./typescript";
export type WithInstall<T> = T & {
    install(app: App): void;
};
export declare function withInstall<T extends Component>(options: T): WithInstall<T>;
export declare const withInstallFunction: <T>(fn: T, name: string) => SFCInstallWithContext<T>;
export declare const withInstallDirective: <T extends Directive>(directive: T, name: string) => SFCWithInstall<T>;
