import * as React from 'react';
import { WithSheet } from 'react-jss';
import { ChooserItemTypes } from '../../types';
export declare enum ChooserItemStyle {
    PRIMARY = 0,
    SECONDARY = 1
}
interface OwnProps {
    item: ChooserItemTypes;
    onSelect: (item: any) => any;
    style?: ChooserItemStyle;
    selectText?: string;
}
declare const styles: (theme: {
    colors: {
        gray: {
            light: string;
            middle: string;
            dark: string;
        };
        flatRed: {
            middle: string;
            dark: string;
        };
        black: string;
        error: string;
    };
    titles: {
        h1: {
            lineHeight: string;
            marginBottom: number;
            fontFamily: string;
            fontSize: string | number | undefined;
            fontWeight: import("react-jss/node_modules/csstype").FontWeightProperty;
        };
        h2: {
            lineHeight: string;
            fontFamily: string;
            fontSize: string | number | undefined;
            fontWeight: import("react-jss/node_modules/csstype").FontWeightProperty;
        };
        h3: {
            letterSpacing: number;
            lineHeight: string;
            fontFamily: string;
            fontSize: string | number | undefined;
            fontWeight: import("react-jss/node_modules/csstype").FontWeightProperty;
        };
    };
    icons: {
        color: {
            base: string;
        };
    };
    mixins: {
        ellipsis: (nbLines?: number) => {
            display: string;
            '-webkit-line-clamp': number;
            '-webkit-box-orient': string;
            overflow: string;
            textOverflow: string;
            wordBreak: string;
        };
        flexbox: {
            containerCenter: {
                display: string;
                justifyContent: string;
                alignItems: string;
            };
        };
        size: (size: React.ReactText) => {
            width: React.ReactText;
            height: React.ReactText;
        };
        position: (position: "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "fixed" | "-webkit-sticky" | "absolute" | "relative" | "static" | "sticky" | undefined, top?: string | number | undefined, left?: string | number | undefined, bottom?: string | number | undefined, right?: string | number | undefined) => {
            position: "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "fixed" | "-webkit-sticky" | "absolute" | "relative" | "static" | "sticky" | undefined;
            top: string | number | undefined;
            left: string | number | undefined;
            bottom: string | number | undefined;
            right: string | number | undefined;
        };
    };
    dock: {
        size: number;
    };
    rightDock: {
        size: number;
    };
    $gutter: string;
    $borderRadius: string;
    $imPath: string;
    $red: string;
    $zindexUltime: number;
    $zIndexSupra: number;
    $zIndexUltra: number;
    $zIndexMega: number;
    $zIndexHuge: number;
    $zIndexLarge: number;
    $zIndexMedium: number;
    $zIndexSmall: number;
    $zIndexNull: number;
    $bodyBkg: string;
    $osbarHeight: string;
    $appSize: string;
    avatarMixin: (value: string, radius?: string) => {
        height: string;
        width: string;
        borderRadius: string;
        backgroundClip: string;
    };
    covererMixin: (bottom?: number, left?: number, right?: number, top?: number) => {
        bottom: number;
        left: number;
        position: string;
        right: number;
        top: number;
    };
    fontMixin: (size: string | number | undefined, weight?: number | "-moz-initial" | "inherit" | "initial" | "revert" | "unset" | "normal" | "bold" | "bolder" | "lighter" | undefined) => {
        fontFamily: string;
        fontSize: string | number | undefined;
        fontWeight: import("react-jss/node_modules/csstype").FontWeightProperty;
    };
    elipsisMixin: (lineClamp?: number) => {
        display: string;
        '-webkit-line-clamp': number;
        '-webkit-box-orient': string;
        overflow: string;
        textOverflow: string;
    };
    mixinDarkenColor: (color: string, ratio?: number) => string;
}) => Record<"title" | "description" | "chooserItem" | "info" | "chooserPrimary" | "chooserSecondary", import("react-jss/lib/injectSheet").CSSProperties>;
declare type Props = OwnProps & WithSheet<typeof styles>;
export declare const ChooserItem: React.ComponentType<Pick<Pick<Props, "theme" | "classes" | "innerRef" | "onSelect" | "item" | "selectText"> & Partial<Pick<Props, "style">> & Partial<Pick<{
    style: ChooserItemStyle;
    implicit: boolean;
}, "implicit">>, "style" | "onSelect" | "item" | "selectText" | "implicit"> & import("react-jss/lib/injectSheet").StyledComponentProps<"title" | "description" | "chooserItem" | "info" | "chooserPrimary" | "chooserSecondary">>;
export {};
