import { FC, PropsWithChildren, ReactNode } from 'react';
import { IPopupProps } from '../Popup/Popup';
import './Drawer.css';
declare type PartialPopupProps = Pick<IPopupProps, 'keepMounted' | 'className' | 'innerRef' | 'zIndex' | 'visible' | 'scope'>;
export interface IDrawerAnimationParams {
    /**
     * Основные параметры анимации для rebound
     * @see https://github.com/facebook/rebound-js
     */
    tension: number;
    friction: number;
    /**
     * Отключает спринговые анимации (напр. для прогонов автотестов)
     */
    disabled?: boolean;
    /**
     * Отключает анимации на момент перетаскивания шторки пальцем (таким образом делая их отзывчивее)
     */
    dragImmediate?: boolean;
}
export interface IDrawerProps extends PropsWithChildren<PartialPopupProps> {
    /**
     * Функция, которая будет вызвана при попытке закрытия шторки.
     */
    onClose?: () => void;
    /**
     * Компонент шапки шторки.
     */
    titleComponent?: ReactNode;
    /**
     * Делает шторку "статичной"
     */
    dragDisabled?: boolean;
    /**
     * Меняет внешний вид для режима "шторка внутри шторки".
     */
    nested?: boolean;
    /**
     * Направление, откуда появляется шторка.
     */
    direction?: 'bottom' | 'left' | 'right';
    /**
     * Максимальный размер шторки (ширина или высота в зависимости от direction).
     * Принимает любое валидное CSS значение.
     */
    maxSize?: string;
    /**
     * Параметры анимации шторки.
     */
    animation: IDrawerAnimationParams;
}
/**
 * Используется для создания шторки.
 * @param {IDrawerProps} props
 */
export declare const Drawer: FC<IDrawerProps>;
export {};
