import { AsyncComponentLoader, Component, FunctionalComponent } from 'vue'; type Constructor = new (...args: any) => any; export type ComponentProps = TComponent extends Constructor ? InstanceType['$props'] : TComponent extends AsyncComponentLoader ? ComponentProps : TComponent extends FunctionalComponent ? T : never; type WithPropsArgs> = Omit, E> extends Omit ? [component: T, props?: Omit & Record] : [component: T, props: Omit & Record]; type WithProps> = Omit, E> extends Omit ? { component: T; props?: Omit & Record; } : { component: T; props: Omit & Record; }; export declare function withProps(...[component, props]: WithPropsArgs): WithProps; export declare function withPropsWithoutExcluded(excluded: E | E[], ...[component, props]: WithPropsArgs): WithProps; export declare function withPropsWithoutExcludedFactory(prop: E | E[]): (...args: WithPropsArgs) => WithProps; export {};