import { Component } from 'react';
import { type ThemeDark, type ThemeLight } from '../common';
export interface SnackbarProps {
    action?: {
        label: string;
        onClick?: React.MouseEventHandler<HTMLButtonElement>;
    };
    text: React.ReactNode;
    /** @deprecated */
    theme?: ThemeLight | ThemeDark;
    timeout: number;
    timestamp: number;
}
interface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {
    visible: boolean;
}
export declare class Snackbar extends Component<SnackbarProps, SnackbarState> {
    bodyRef: import("react").RefObject<HTMLSpanElement>;
    timeout: number;
    transitionTimeout: number;
    constructor(props: SnackbarProps);
    componentWillUnmount(): void;
    shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState): boolean;
    setLeaveTimeout: () => void;
    componentDidUpdate(previousProps: SnackbarProps): void;
    render(): import("react").JSX.Element;
}
declare const _default: (props: SnackbarProps) => import("react").ReactPortal | null;
export default _default;
//# sourceMappingURL=Snackbar.d.ts.map