import { FileMimeType } from '@zag-js/file-utils';
import { JSX } from 'solid-js';
import { a as MaybePromise } from '../../types-Bc0WfPsv.js';
import { HTMLProps, PolymorphicProps } from '../factory.js';

type DownloadableData = string | Blob | File;
interface DownloadTriggerBaseProps extends PolymorphicProps<'button'> {
    /**
     * The name of the file to download
     */
    fileName: string;
    /**
     * The data to download
     */
    data: DownloadableData | (() => MaybePromise<DownloadableData>);
    /**
     * The MIME type of the data to download
     */
    mimeType: FileMimeType;
}
interface DownloadTriggerProps extends HTMLProps<'button'>, DownloadTriggerBaseProps {
}
declare function DownloadTrigger(props: DownloadTriggerProps): JSX.Element;

export { DownloadTrigger, type DownloadTriggerBaseProps, type DownloadTriggerProps };
