import React from 'react';
import { TagProps, IconStringList, TooltipProps } from '../../module';
type FileProps = {
    /** Unique name for the file */
    name: string;
    /** Optional prop that determines the checked state for the file */
    isChecked?: boolean;
    /** Optional prop that represents the thumbnail image URL of the file, enabling visual identification or content preview. */
    url?: string;
    /** Optional prop that will hold the information related to the file */
    data?: string[];
};
type CardProps<FileGeneric extends FileProps> = {
    /** The file that is displayed in the card */
    fileProps: FileGeneric;
    /** Optional prop that accepts an function that will make a callout when the file checkbox state is changed */
    onCheckCallout?: (name: string, check: boolean) => void;
    /** Function that will make a callout when the card is clicked */
    cardCallout: () => void;
    /** Optional prop that accepts an array of tag objects which include the text, color */
    tags?: TagProps[];
    /** Optional prop that accepts children elements defined in this file -IconButton ,TextButton, ButtonContainer and VerticalDivider */
    footerChildren?: React.ReactNode;
};
declare const Card: {
    <FileGeneric extends FileProps>({ fileProps, cardCallout, onCheckCallout, tags, footerChildren, }: CardProps<FileGeneric>): JSX.Element;
    IconButton: ({ icon, onClick, tooltipProps, }: {
        icon: IconStringList;
        onClick: () => void;
        tooltipProps: Omit<TooltipProps, "children">;
    }) => React.JSX.Element;
    TextButton: ({ onClick, tooltipProps, text, }: {
        onClick: () => void;
        tooltipProps: Omit<TooltipProps, "children">;
        text: string;
    }) => React.JSX.Element;
    ButtonContainer: ({ children }: {
        children: React.ReactNode;
    }) => React.JSX.Element;
    VerticalDivider: () => React.JSX.Element;
};
export { Card };
