import { SynapseContext } from '@/utils/context/SynapseContext';
import { IChangeEvent } from '@rjsf/core';
import { DownloadFromTableResult, QueryBundleRequest, SortItem } from '@sage-bionetworks/synapse-types';
import { Component, ContextType } from 'react';
type ModalDownloadState = {
    isLoading: boolean;
    step: number;
    data?: DownloadFromTableResult;
    formData: Record<string, unknown>;
};
export type ModalDownloadProps = {
    onClose: (...args: any[]) => void;
    includeEntityEtag?: boolean;
    queryBundleRequest?: QueryBundleRequest;
    getLastQueryRequest?: () => QueryBundleRequest;
    offset?: number;
    limit?: number;
    sort?: SortItem[];
};
export declare class ModalDownload extends Component<ModalDownloadProps, ModalDownloadState> {
    static contextType: import("react").Context<import("@/utils/context/SynapseContext").SynapseContextType>;
    context: NonNullable<ContextType<typeof SynapseContext>>;
    constructor(props: ModalDownloadProps);
    handleSubmit: (event: IChangeEvent) => void;
    handleDownloadSetup: (event: IChangeEvent) => void;
    onDownload: () => void;
    handleChange: (event: IChangeEvent) => void;
    render(): import("react/jsx-runtime").JSX.Element;
}
export default ModalDownload;
//# sourceMappingURL=ModalDownload.d.ts.map