/// <reference types="node" />
import * as React from "react";
import type { TransitionDuration } from "../transition";
import type { Props, State } from "./types";
export declare const StyledSlide: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
    transitionDuration?: TransitionDuration | undefined;
    transitionFinished?: boolean | undefined;
    visible?: boolean | undefined;
    expanded?: boolean | undefined;
    maxHeight: number | null;
}, never>;
declare class Slide extends React.Component<Props, State> {
    state: State;
    static defaultProps: {
        transitionDuration: string;
    };
    expandTimeout: NodeJS.Timeout | null;
    collapseTimeout: NodeJS.Timeout | null;
    transitionFinishedTimeout: NodeJS.Timeout | null;
    visibleTimeout: NodeJS.Timeout | null;
    componentDidMount(): void;
    componentDidUpdate(prevProps: Props, prevState: State, snapshot: null | true): void;
    componentWillUnmount(): void;
    getSnapshotBeforeUpdate(prevProps: Props): null | boolean;
    setVisible: (visible: boolean) => () => void;
    setMaxHeight: () => void;
    expandCallback: () => void;
    collapseCallback: () => void;
    transitionFinishedCallback: (transitionFinished: boolean) => () => void;
    render(): JSX.Element;
}
export default Slide;
