export interface ICommonTransitionProps {
    name?: string;
    appear?: boolean;
    css?: boolean;
    type?: 'transition' | 'animation';
    duration?: number | {
        enter: number;
        leave: number;
    };
    'enter-class'?: string;
    'leave-class'?: string;
    'appear-class'?: string;
    'enter-to-class'?: string;
    'leave-to-class'?: string;
    'appear-to-class'?: string;
    'enter-active-class'?: string;
    'leave-active-class'?: string;
    'appear-active-class'?: string;
    'onBefore-enter'?: (el: Element) => void;
    onEnter?: (el: Element, done: () => void) => void;
    'onAfter-enter'?: (el: Element) => void;
    'onEnter-cancelled'?: (el: Element) => void;
    'onBefore-leave'?: (el: Element) => void;
    onLeave?: (el: Element, done: () => void) => void;
    'onAfter-leave'?: (el: Element) => void;
    'onLeave-cancelled'?: (el: Element) => void;
    'onBefore-appear'?: (el: Element) => void;
    onAppear?: (el: Element, done: () => void) => void;
    'onAfter-appear'?: (el: Element) => void;
    'onAppear-cancelled'?: (el: Element) => void;
}
export interface ITransitionProps extends ICommonTransitionProps {
    mode?: 'out-in' | 'in-out';
}
export interface ITransitionGroupProps extends ICommonTransitionProps {
    tag?: string;
    moveClass?: string;
}
export interface IKeepAliveProps {
    include?: string | RegExp | (string | RegExp)[];
    exclude?: string | RegExp | (string | RegExp)[];
    max?: number;
}
export interface ISlotProps {
    name?: string;
}
export interface InnerElements {
    slot: ISlotProps;
    transition: ITransitionProps;
    'transition-group': ITransitionGroupProps;
    'keep-alive': IKeepAliveProps;
}
