import { cubicOut } from 'svelte/easing';
import type { TransitionConfig } from 'svelte/transition';
export { blur, crossfade, draw, fade, fly, scale } from 'svelte/transition';
type EasingFunction = (t: number) => number;
interface Params {
    duration?: number;
    delay?: number;
    easing?: EasingFunction;
    distance?: number;
    direction?: -1 | 1;
}
interface SlideParams extends Params {
    fadeStart?: number;
}
export declare function fadeDown(node: Element, { delay, duration, easing, distance, direction }: Params): {
    delay: number;
    duration: number;
    easing: EasingFunction;
    css: (t: number) => string;
};
export declare function fadeUp(node: Element, params?: Params): {
    delay: number;
    duration: number;
    easing: EasingFunction;
    css: (t: number) => string;
};
export declare function slide(node: Element, { fadeStart, delay, duration, easing }: SlideParams): TransitionConfig;
export declare function grow(node: Element, { defaultWidth, fadeStart, delay, duration, easing }: {
    defaultWidth?: number | undefined;
    fadeStart?: number | undefined;
    delay?: number | undefined;
    duration?: number | undefined;
    easing?: typeof cubicOut | undefined;
}): TransitionConfig;
export declare function slideH(node: HTMLElement, { delay, duration, easing }: SlideParams): TransitionConfig;
export declare function slideIn(node: Element, { delay, duration, easing }?: SlideParams): TransitionConfig;
