import { MouseEvent } from 'react'; import { ButtonProps } from '@befe/brick-comp-button'; import { ConfiguredComponent } from '@befe/brick-core'; import { DownloadIframe, DownloadIframeProps } from './download-iframe'; export interface DownloadButtonProps extends DownloadIframeProps, ButtonProps { /** * 自定义 class */ className?: string; /** * download 执行前的回调,根据返回值确定是否执行 download * - promise,当 promise resolve 后进行 * - false,visible 不进行 * - true | void,立即进行 */ beforeDownload?: ((e: MouseEvent) => Promise | boolean | void) | ((e: MouseEvent) => Promise | boolean | void); } export declare class DownloadButton extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; }; refDownloadIframe: import("react").RefObject; get className(): string; get size(): "sm" | "md" | "xs" | "lg" | "xl"; get downloadIframeProps(): Pick & Readonly<{ children?: import("react").ReactNode; }>, keyof DownloadButtonProps>; get buttonProps(): { size: "sm" | "md" | "xs" | "lg" | "xl"; onClick: ((e: MouseEvent) => void | Promise) | ((e: MouseEvent) => void | Promise) | undefined; }; handleClick: (e: MouseEvent & MouseEvent) => void; render(): import("react/jsx-runtime").JSX.Element; }