import { ResponsiveValue } from '@chakra-ui/react';
type InfoSelectProps = {
/**
* Either a render function accepting an item, and returning a ,
* or a list of s.
*
* Render function example:
* ```tsx
*
* ```
*
* For this to work, the members in `items` need either a `key`
* or an `id` property.
*
* List of s example:
* ```tsx
*
* ```
**/
children: any;
/**
* The items to render
*
* If you have a dynamic list of items you want to display, you should use this prop instead of mapping them out. This is a performance optimization.
*
* You can render each item in a render function, passed in as `children`:
*
* ```tsx
*
* ```
*/
items: any[];
/** Callback for when something is selected */
onChange?: (value: string | number) => void;
value?: string | number;
defaultValue?: string | number;
/** Controlled open state
*
* Useful if you want to control the open state from outside the component.
*/
isOpen?: boolean;
/** Callback for when the open state of the select box changes.
*
* Useful if you want to control the open state from outside the component.
*/
onOpenChange?: (isOpen: boolean) => void;
/** The label describing the choice */
label: string;
/** The name of the select element */
name?: string;
/**
* What's shown if nothing is selected.
*
* Defaults to a localized version of "choose an option"
*/
placeholder?: string;
/** The width of the select box.
*
* Defaults to the width of the selected content
*/
width?: ResponsiveValue;
isDisabled?: boolean;
/** A list of disabled keys.
*
* ```tsx
*
* ```
**/
disabledKeys?: string[];
};
/**
* A styled select component.
*
* This select component lets you choose between a list of options.
* Compared to the NativeSelect component, the InfoSelect component lets you style the options however you'd like – including both text, icons and other elements.
*
* ```tsx
*
* Blue
* Yellow
* Green
*
* ```
*
* Alternatvely, you can pass the items into the `items` prop, and create a render function for the items.
*
* ```tsx
*
* {(item) => (
*
* {item.label}
*
* )}
*
* ```
*
* @see https://spor.vy.no/komponenter/info-select
*/
declare const InfoSelect: ({ placeholder, width, onChange, value, defaultValue, ...props }: InfoSelectProps) => JSX.Element;
export { InfoSelect };