import AbstractTransitionController from 'transition-controller';
import { IMubanTransitionCoreMixin } from '../interface/IMubanTransitionCoreMixin';
import { IMubanTransitionMixin } from '../interface/IMubanTransitionMixin';
import EventDispatcher from 'seng-event/lib/EventDispatcher';
declare function mubanTransitionMixin<TBase extends Constructor<IMubanTransitionCoreMixin>>(Base: TBase): {
    new (...args: any[]): {
        transitionController: AbstractTransitionController<IMubanTransitionMixin>;
        enterViewThreshold: number;
        inViewProgressThreshold: number;
        hasEntered: boolean;
        currentViewProgress: number;
        enterView(): void;
        leaveView(): void;
        inViewProgress(progress: number): void;
        beyondView(): void;
        transitionIn(forceTransition?: boolean): Promise<any>;
        transitionOut(forceTransition?: boolean, id?: string, reset?: boolean): Promise<any>;
        startLoopingAnimation(id?: string, reset?: boolean): void;
        stopLoopingAnimation(): void;
        eventNamespace: string;
        dispatcher: EventDispatcher;
        displayName: string;
        componentId: string;
        element: HTMLElement;
        getElement<T extends Element = HTMLElement>(selector: string, container?: HTMLElement): T;
        getElements<T extends Element = HTMLElement>(selector: string, container?: HTMLElement): T[];
        isDisposed(): boolean;
        dispose(): void;
    };
} & TBase;
export default mubanTransitionMixin;
