import { type HTMLAttributes } from 'vue';
import type { ComponentProps } from 'vue-component-type-helpers';
import { type OUIAProps } from '../../helpers/ouia';
import PfButton from '../Button.vue';
interface Props extends OUIAProps, /* @vue-ignore */ HTMLAttributes {
/** Unique id for the text area. Also used to generate ids for accessible labels. */
id?: string;
/** Name property for the read-only filename field, defaults to `-filename`. */
name?: string;
/** What type of file. Determines whether a text preview is shown and what is expected by the value (a string for 'text' and 'dataURL', or a File object otherwise). */
type?: 'text' | 'dataURL';
/** Value to be shown in the read-only filename field. */
filename?: string | null;
/** Flag to allow editing of a text file's contents after it is selected from disk. */
allowEditingUploadedText?: boolean;
/** Aria-label for the text area. Defaults to the `fileUpload` message. */
ariaLabel?: string;
/** Text for the browse button. Defaults to the `fileUploadBrowse` message. */
browseButtonText?: string;
/** Flag to disable the browse button. */
browseButtonDisabled?: boolean;
/** Additional attributes for the browse button, like aria-describedby referring to helper text describing file restrictions. */
browseButtonAttrs?: ComponentProps;
/** Text for the clear button. Defaults to the `fileUploadClear` message. */
clearButtonText?: string;
/** Flag to disable the clear button. Defaults to true when there is no filename and no value. */
clearButtonDisabled?: boolean;
/** Aria-label for the read-only filename field. */
filenameAriaLabel?: string;
/** Placeholder string to display in the empty filename field. Defaults to the `fileUploadFilenamePlaceholder` message. */
filenamePlaceholder?: string;
/** Flag to hide the built-in preview of the file (where available). If true, you can use the default slot to render an alternate preview. */
hideDefaultPreview?: boolean;
/** Flag to show if the field is disabled. */
disabled?: boolean;
/** Flag to show if a file is being loaded. */
loading?: boolean;
/** Flag to show if the field is read only. */
readonly?: boolean;
/** Flag to show if the field is required. */
required?: boolean;
/** Aria-valuetext for the loading spinner. */
spinnerAriaValueText?: string;
/** Value to indicate if the field is modified to show that validation state. */
validated?: 'success' | 'error' | 'default';
/** Flag to show if a file is being dragged over the file upload field. */
dragActive?: boolean;
/** Name property for the preview textarea. */
textareaName?: string;
/** Placeholder string to display in the empty text area field. */
textareaPlaceholder?: string;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots any;
} & {
browseButtonClick: (e: PointerEvent) => any;
clearButtonClick: (e: PointerEvent) => any;
textAreaBlur: (e: Event) => any;
textAreaClick: (e: MouseEvent) => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
"onUpdate:modelValue"?: ((value: string | File | null) => any) | undefined;
onBrowseButtonClick?: ((e: PointerEvent) => any) | undefined;
onClearButtonClick?: ((e: PointerEvent) => any) | undefined;
onTextAreaBlur?: ((e: Event) => any) | undefined;
onTextAreaClick?: ((e: MouseEvent) => any) | undefined;
}>, {
id: string;
validated: "success" | "error" | "default";
clearButtonDisabled: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
/** Additional content rendered after (or instead of) the file preview, like a pf-file-upload-helper-text */
default?: (props?: Record) => any;
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=FileUploadField.vue.d.ts.map