///
import { DelayHandler, EventListenerHandler, Json } from '@befe/brick-utils';
import { ConfiguredComponent } from '@befe/brick-core';
export type DownloadIframeMethod = 'get' | 'post';
export interface DownloadIframeProps {
/**
* 自定义 class
*/
className?: string;
/**
* 下载地址
*/
url?: string;
/**
* 请求方法
*/
method?: DownloadIframeMethod;
/**
* 请求参数
* { [key]: string | number }
*/
params?: Record;
/**
* 请求成功的回调
*/
onResponse?: (respJson: Json, respText: string) => void;
/**
* request 响应成功的判断函数
*/
isResponseSuccess?: (respJson: Json, respText: string) => boolean;
/**
* 开始下载消息延迟出现时间
* - 小于等于 0: 不触发延时
* - 大于 0: 延迟触发
*/
startMessageDelay?: number;
/**
* 开始下载消息持续时间
*/
startMessageDuration?: number;
}
interface ParamItem {
name: string;
value: string;
}
export declare class DownloadIframe extends ConfiguredComponent {
static displayName: string;
static defaultProps: {
className: string;
method: string;
startMessageDelay: number;
};
componentLocale: import("@befe/brick-core").ComponentLocale<{
en_us: {
download_start: string;
download_fail: string;
};
zh_cn: {
download_start: string;
download_fail: string;
};
}>;
refForm: import("react").RefObject;
refIframe: import("react").RefObject;
iframeId: string;
iframeLoadHandler: EventListenerHandler | null;
startMessageHandler: DelayHandler | null;
get className(): string;
get paramList(): {
name: string;
value: string;
}[];
handleIframeLoad: () => void;
renderFiledInput: (item: ParamItem) => import("react/jsx-runtime").JSX.Element;
/**
* @public
*/
download(): void;
isResponseSuccess(respJson: Json, respText: string): boolean | undefined;
toastStartMessage(): void;
clearStartMessage(): void;
updateStartMessageHandler(): void;
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: Readonly): void;
render(): import("react/jsx-runtime").JSX.Element;
}
export {};