import React from 'react';
export type SelectDisplayOption = {
    /** Identifier for an option */
    name: string;
    /** Label display for an option */
    label: string;
    /** Object of tippy to show children on option value */
    children?: {
        /** Array of options for tippy */
        options: SelectDisplayOption[];
    };
    /** Optional secondary content to display */
    secondaryContent?: React.ReactNode;
    /** Optional image to appear to the left of the option */
    image?: string;
};
export type SelectDisplayProps<OptionItem extends SelectDisplayOption> = {
    /** Array of options */
    options: OptionItem[];
    /** Function to be called when an option is clicked */
    callout: (option: OptionItem) => void;
    /** Determines if there is an active option to be highlighted */
    active?: keyof OptionItem;
    /** Adds a border around the component */
    hasBorder?: boolean;
    /** Adds a tippy style around the component */
    hasTippy?: boolean;
    /** Optional maxHeight for the display. Enables scrolling of the overflow. */
    maxHeight?: number | string;
};
declare const SelectDisplay: <OptionItem extends SelectDisplayOption>({ options, callout, active, hasBorder, hasTippy, maxHeight, }: SelectDisplayProps<OptionItem>) => JSX.Element;
export default SelectDisplay;
export declare const SelectDisplayRow: <OptionItem extends SelectDisplayOption>({ callout, active, option, hasBorder, getOptions, }: {
    callout: (option: OptionItem) => void;
    active?: keyof OptionItem;
    option: OptionItem;
    getOptions?: (filteredOptions: OptionItem[]) => JSX.Element;
    hasBorder?: boolean;
}) => React.JSX.Element;
