import { ReactNode } from 'react';
import { IPageAction } from '../PageActions/PageAction';
import { LabelColor } from '../components/pfcolors';
import { ITableColumn } from './PageTableColumn';
export declare const Small: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
export interface IPageTableCard {
    id: string | number;
    icon?: ReactNode;
    title: ReactNode;
    iconAboveTitle?: boolean;
    subtitle?: ReactNode;
    cardBody: ReactNode;
    labels?: {
        label: string;
        color?: LabelColor;
        icon?: ReactNode;
        variant?: 'outline' | 'filled' | undefined;
    }[];
    badge?: string;
    badgeColor?: LabelColor;
    badgeTooltip?: string;
    badgeTooltipTitle?: string;
    alertTitle?: string;
    alertContent?: ReactNode;
    alertVariant?: 'success' | 'danger' | 'warning' | 'info' | 'custom';
}
export declare const PageDetailDiv: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
export declare const ColumnsDiv: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
export declare function PageTableCard<T extends object>(props: {
    item: T;
    itemToCardFn: (item: T) => IPageTableCard;
    isSelected?: (item: T) => boolean;
    selectItem?: (item: T) => void;
    unselectItem?: (item: T) => void;
    itemActions?: IPageAction<T>[];
    showSelect?: boolean;
    defaultCardSubtitle?: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
export declare function useColumnsToTableCardFn<T extends object>(columns: ITableColumn<T>[], keyFn: (item: T) => string | number): (item: T) => IPageTableCard;
