import * as React from 'react';
import { IChangeEvent } from '@rjsf/core';
import { DownloadFromTableResult, SortItem, QueryBundleRequest } from '../utils/synapseTypes/';
export declare type ModalDownloadState = {
    isLoading: boolean;
    step: number;
    data?: DownloadFromTableResult;
    formData: {};
};
export declare type ModalDownloadProps = {
    onClose: (...args: any[]) => void;
    includeEntityEtag?: boolean;
    queryBundleRequest?: QueryBundleRequest;
    getLastQueryRequest?: () => QueryBundleRequest;
    offset?: number;
    limit?: number;
    sort?: SortItem[];
};
export default class ModalDownload extends React.Component<ModalDownloadProps, ModalDownloadState> {
    static contextType: React.Context<import("../utils/SynapseContext").SynapseContextType | undefined>;
    constructor(props: ModalDownloadProps);
    handleSubmit: (event: IChangeEvent) => void;
    handleDownloadSetup: (event: IChangeEvent) => void;
    onDownload: () => void;
    handleChange: (event: IChangeEvent) => void;
    render(): JSX.Element;
}
