import { default as React } from 'react';
import { FileProps } from '../file/types.cjs';
import { FieldGroupProps } from '../input-group/index.cjs';
export interface UploadedFileValidation {
    type: "TOO_LARGE" | "WRONG_TYPE";
    message: string;
}
export interface UploadedFile {
    file: File;
    validation?: UploadedFileValidation;
    state: FileProps["state"];
    uploadProgress: number;
}
export interface FileInputProps extends Omit<FieldGroupProps, "onChange"> {
    className?: string;
    id?: string;
    /**
     * En string som begrenser hvilke filtyper som kan velges.
     *
     * Flere filtyper kan defineres som en kommaseparert liste.
     *
     * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept
     */
    accept?: "image/*" | ".pdf" | "image/*,.pdf" | HTMLInputElement["accept"];
    maxSizeBytes?: number;
    /**
     * @default true
     */
    multiple?: boolean;
    value: UploadedFile[];
    variant?: "flexible" | "small";
    onChange: (e: React.ChangeEvent<HTMLInputElement> | React.DragEvent<HTMLDivElement>, files: UploadedFile[]) => void;
}
