import React from 'react'; import PropTypes from 'prop-types'; import BannerFoundation, { BannerAdapter } from '@douyinfe/semi-foundation/lib/cjs/banner/foundation'; import '@douyinfe/semi-foundation/lib/cjs/banner/banner.css'; import BaseComponent from '../_base/baseComponent'; export type Type = 'info' | 'danger' | 'warning' | 'success'; export interface BannerProps { type?: Type; className?: string; children?: React.ReactNode; fullMode?: boolean; title?: React.ReactNode; description?: React.ReactNode; icon?: React.ReactNode; closeIcon?: React.ReactNode; style?: React.CSSProperties; bordered?: boolean; onClose?(e: React.MouseEvent): void; } export interface BannerState { visible: boolean; } export default class Banner extends BaseComponent { static propTypes: { fullMode: PropTypes.Requireable; type: PropTypes.Requireable; title: PropTypes.Requireable; description: PropTypes.Requireable; icon: PropTypes.Requireable; closeIcon: PropTypes.Requireable; children: PropTypes.Requireable; style: PropTypes.Requireable; className: PropTypes.Requireable; onClose: PropTypes.Requireable<(...args: any[]) => any>; bordered: PropTypes.Requireable; }; static defaultProps: { onClose: () => void; type: string; fullMode: boolean; }; foundation: BannerFoundation; constructor(props: BannerProps); get adapter(): BannerAdapter; componentDidMount(): void; componentWillUnmount(): void; remove: React.MouseEventHandler; renderCloser(): string | number | boolean | Iterable | React.JSX.Element; renderIcon(): React.JSX.Element; render(): React.JSX.Element; }