import type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue';
export declare const makeTransitionProps: <Defaults extends {
    transition?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    transition: unknown extends Defaults["transition"] ? {
        type: PropType<string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        })>;
        default: string;
        validator: (val: unknown) => boolean;
    } : Omit<{
        type: PropType<string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        })>;
        default: string;
        validator: (val: unknown) => boolean;
    }, "type" | "default"> & {
        type: PropType<unknown extends Defaults["transition"] ? string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        }) : NonNullable<string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        })> | Defaults["transition"]>;
        default: unknown extends Defaults["transition"] ? string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        }) : NonNullable<string | false | (TransitionProps & {
            component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
        })> | Defaults["transition"];
    };
};
interface MaybeTransitionProps extends TransitionProps {
    transition?: string | boolean | TransitionProps & {
        component?: any;
    };
}
export declare const MaybeTransition: FunctionalComponent<MaybeTransitionProps>;
export {};
