import { QdCollectedFile } from './collected-file';
import { QdFileType } from './file-type';
export interface QdFileCollectorConfig {
    /**
     * Collected files that are the initial value of the File Collector.
     */
    files?: QdCollectedFile[];
    /**
     * The size of an uploaded file must be lesser than or equal to the given max file size in bytes.
     */
    maxFileSizeInBytes?: number;
    /**
     * List of allowed file types.
     * If you use this config, allowedMimeTypes and allowedFileNamePattern will be derived automatically.
     */
    allowedFileTypes?: QdFileType[];
    /**
     * List of file mime types that are allowed.
     */
    allowedMimeTypes?: string[];
    /**
     * Configure the error message that is shown when a file is uploaded whose MIME type is not allowed.
     *
     * * @default i18n.qd.upload.invalid.fileType ("The file has an unsupported file type.")
     */
    invalidMimeTypeErrorMessageI18n?: string;
    /**
     * Restricts the format of the file name (e.g. the extension) with a regex pattern.
     */
    allowedFileNamePattern?: string;
    /**
     * Configure the error message that is shown when a file does not match the configured allowedFileNamePattern.
     *
     * * @default i18n.qd.upload.invalid.fileName ("The file has an unsupported file type.")
     */
    invalidFileNameErrorMessageI18n?: string;
    /**
     * Description for the allowed files that is displayed on top of the file collector.
     * The following placeholders can be used: {{allowedFileTypes}}, {{maxFileSize}}.
     *
     * * @default "The following file formats can be used: {{allowedFileTypes}}.
     * The maximum file size is {{maxFileSize}}."
     * The default has a dynamic logic that shows only sentences for that a config is defined.
     */
    allowedFilesDescriptionI18n?: string;
    /**
     * Enables the readonly-mode. Uploaded files are only allowed to be downloaded in readonly-mode or viewonly-mode.
     *
     * * @default false
     */
    readonly?: boolean;
    /**
     * Enables the viewonly-mode. Uploaded files are only allowed to be downloaded in viewonly-mode or readonly-mode.
     *
     * * @default false
     */
    viewonly?: boolean;
    /**
     * By default, the download button of an uploaded file is a simple link that opens the download url in a new tab.
     * If this flag is activated, the download is executed with the HttpClient. The download request can be intercepted
     * in this way, for example to add the auth token.
     *
     * * @default false
     */
    downloadFilesWithHttpClient?: boolean;
    /**
     * The label shown on the "Add New" button in standalone mode, allowing users to add files to the collector.
     * This button is only visible if the file collector is not in readonly or viewonly mode and supports translation.
     *
     * A default translation key is used, but this can be customized in the configuration.
     */
    standaloneAddNewLabel?: {
        i18n: string;
    };
}
//# sourceMappingURL=file-collector-config.d.ts.map