import * as React from 'react';
import type { HasDataAttribute, HasRootRef, HTMLAttributesWithRootRef } from '../../types';
import { Basic, type BasicProps } from './subcomponents/Basic/Basic';
import type { SnackbarPlacement } from './types';
export interface SnackbarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'role'>, BasicProps {
    /**
     * Свойства, которые можно прокинуть внутрь компонента:
     * - `root`: свойства для прокидывания в корень компонента;
     * - `action`: свойства для прокидывания в кнопку действия.
     */
    slotProps?: {
        root?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & HasRootRef<HTMLDivElement> & HasDataAttribute;
        action?: React.HTMLAttributes<HTMLElement> & HasRootRef<HTMLElement> & HasDataAttribute;
    };
    /**
     * Задаёт расположение компонента.
     *
     * > Note: в мобильном режиме:
     * > - `"top-start"`/`"top-end"` перебивается на `"top"`, чтобы поведение было схожим с нативными
     * >   уведомлениями;
     * > - `"bottom"` перебивается на `"bottom-start"`, чтобы избежать вызова системных
     * >   функций, таких как **Pull To Refresh** и **Режим управления одной рукой**.
     * > - `"bottom-start"`/`"bottom-end"` закрываются смахиванием в любое из направлений
     * >   по горизонтальной оси.
     */
    placement?: SnackbarPlacement;
    /**
     * Название кнопки действия в уведомлении
     * Не может использоваться одновременно с `subtitle`.
     */
    action?: React.ReactNode;
    /**
     * Будет вызвано при нажатии на кнопку действия.
     */
    onActionClick?: (event: React.MouseEvent) => void;
    /**
     * Время в миллисекундах, через которое плашка скроется.
     */
    duration?: number;
    /**
     * Обработчик закрытия уведомления.
     */
    onClose: () => void;
    /**
     * Величина отступа снизу. Используется для позиционирования элемента в случае, когда нежелательно, чтобы Snackbar при появлении перекрывал важные элементы интерфейса.
     */
    offsetY?: React.CSSProperties['bottom'];
}
/**
 * @see https://vkui.io/components/snackbar
 */
export declare const Snackbar: React.FC<SnackbarProps> & {
    Basic: typeof Basic;
};
//# sourceMappingURL=Snackbar.d.ts.map