import { Optional } from '@ephox/katamari';
import { SugarElement } from '@ephox/sugar';
import { PlacerResult } from '../layout/LayoutTypes';
import * as Origins from '../layout/Origins';
import { PositionCss } from './PositionCss';
import { RepositionDecision } from './Reposition';
export declare type TransitionProp = 'top' | 'left' | 'bottom' | 'right';
export declare type TransitionMode = 'all' | 'layout' | 'placement';
export interface Transition {
    readonly classes: string[];
    readonly mode: TransitionMode;
}
declare const getTransitionDuration: (element: SugarElement<HTMLElement>) => number;
declare const applyTransitionCss: (element: SugarElement<HTMLElement>, origin: Origins.OriginAdt, position: PositionCss, transition: Transition, decision: RepositionDecision, lastPlacement: Optional<PlacerResult>) => void;
export { getTransitionDuration, applyTransitionCss };
//# sourceMappingURL=Transitions.d.ts.map