import React, { CSSProperties } from 'react'; import PropTypes from 'prop-types'; import { ContextValue } from '../configProvider/context'; import { ToastAdapter, ToastState, ToastProps } from '@douyinfe/semi-foundation/lib/cjs/toast/toastFoundation'; import BaseComponent from '../_base/baseComponent'; export interface ToastReactProps extends ToastProps { style?: CSSProperties; icon?: React.ReactNode; content: React.ReactNode; stack?: boolean; stackExpanded?: boolean; onAnimationEnd?: (e: React.AnimationEvent) => void; onAnimationStart?: (e: React.AnimationEvent) => void; positionInList?: { index: number; length: number; }; } declare class Toast extends BaseComponent { toastEle: React.RefObject; static contextType: React.Context; static propTypes: { onClose: PropTypes.Requireable<(...args: any[]) => any>; content: PropTypes.Requireable; close: PropTypes.Requireable<(...args: any[]) => any>; duration: PropTypes.Requireable; theme: PropTypes.Requireable; type: PropTypes.Requireable; textMaxWidth: PropTypes.Requireable>; style: PropTypes.Requireable; className: PropTypes.Requireable; showClose: PropTypes.Requireable; stack: PropTypes.Requireable; stackExpanded: PropTypes.Requireable; icon: PropTypes.Requireable; direction: PropTypes.Requireable; }; static __SemiComponentName__: string; static defaultProps: any; constructor(props: ToastReactProps); context: ContextValue; get adapter(): ToastAdapter; componentDidMount(): void; componentWillUnmount(): void; close(e: React.MouseEvent): void; clearCloseTimer: () => void; startCloseTimer: () => void; restartCloseTimer: () => void; renderIcon(): string | number | true | React.ReactElement> | Iterable; render(): React.JSX.Element; } export default Toast;