import { ReactNode } from 'react';
import { DocumentIconVariant } from './DocumentIcon';
export declare type SizeVariant = 'sm' | 'lg';
export declare type LayoutVariant = 'row' | 'column';
export interface QaTags {
    /**
     * @since 10.19.0
     */
    caption?: string;
}
export interface ThumbnailProps {
    /**
     * An image URL or a <Code>File</Code> to generate a preview for
     * @since 10.19.0
     */
    src?: File | string;
    /**
     * Thumbnail size
     * @default 'lg'
     * @since 10.19.0
     */
    size?: SizeVariant;
    /**
     * Use "focused" view
     * @default false
     * @since 10.19.0
     */
    focused?: boolean;
    /**
     * Use "selected" view
     * @default false
     * @since 10.19.0
     */
    selected?: boolean;
    /**
     * Use "disabled" view
     * @default false
     * @since 10.19.0
     */
    disabled?: boolean;
    /**
     * @since 10.19.0
     */
    error?: boolean;
    /**
     * @since 10.19.0
     */
    clickable?: boolean;
    /**
     * Thumbnail caption
     * @default ''
     * @since 10.19.0
     */
    caption?: string;
    /**
     * Show placeholder for caption if it is empty
     * @default false
     * @since 10.19.0
     */
    hasCaptionPlaceholder?: boolean;
    /**
     * Thumbnail label
     * @default ''
     * @since 10.19.0
     */
    label?: string;
    /**
     * @since 10.19.0
     */
    className?: string;
    /**
     * @since 10.19.0
     */
    qa?: QaTags;
}
export interface FilePreviewProps {
    /**
     * @since 10.19.0
     */
    file: File;
}
export declare type PlaceholderProps = Omit<ThumbnailProps, 'src'> & {
    /**
     * Unless variant is provided, filename is used
     * to choose a placeholder icon based on extension.
     * E.g. for 'filename="panda.png"', image {' '}
     * variant will be used
     * @since 10.19.0
     * */
    filename?: string;
    /**
     * @since 10.19.0
     */
    variant?: DocumentIconVariant;
};
export interface MultilineCaptionProps {
    /**
     * @since 10.19.0
     */
    disabled: boolean;
    /**
     * @since 10.19.0
     */
    caption: string;
    /**
     * @since 10.19.0
     */
    error: boolean;
    /**
     * @since 10.19.0
     */
    layout: 'row' | 'column';
    /**
     * @since 10.19.0
     */
    qa: string;
}
export interface SinglelineCaptionProps {
    /**
     * @since 10.19.0
     */
    caption: string;
    /**
     * @since 10.19.0
     */
    disabled: boolean;
    /**
     * @since 10.19.0
     */
    error: boolean;
    /**
     * @since 10.19.0
     */
    layout: 'row' | 'column';
    /**
     * @since 10.19.0
     */
    qa: string;
}
export interface CaptionTooltipProps {
    /**
     * @since 10.19.0
     */
    overlay: string;
    /**
     * @since 10.19.0
     */
    isVisible: boolean;
    /**
     * @since 10.19.0
     */
    children: ReactNode;
}
export interface CaptionProps {
    /**
     * @since 10.19.0
     */
    layout: LayoutVariant;
    /**
     * @since 10.19.0
     */
    caption: string;
    /**
     * @since 10.19.0
     */
    disabled: boolean;
    /**
     * @since 10.19.0
     */
    error: boolean;
    /**
     * @since 10.19.0
     */
    hasCaptionPlaceholder: boolean;
    /**
     * @since 10.19.0
     */
    multiline: boolean;
    /**
     * @since 10.19.0
     */
    qa?: string;
}
export interface LabelProps {
    /**
     * @since 10.19.0
     */
    label: string;
    /**
     * @since 10.19.0
     */
    disabled: boolean;
}
export interface TickIconProps {
    /**
     * @since 10.19.0
     */
    size: SizeVariant;
    /**
     * @since 10.19.0
     */
    selected: boolean;
}
