import { JSXElementConstructor, ReactElement } from 'react';
import { FieldComponentProps } from '@cezembre/forms';
export interface SelectOption<V = string> {
    value: V;
    element?: ReactElement | string | number;
}
export interface SelectOptionProps<V = string> {
    option?: SelectOption<V>;
    DefaultComponent?: JSXElementConstructor<{
        value: V;
    }>;
    placeholder?: string;
}
export type SelectShape = 'square' | 'round' | 'borderless';
export type SelectType = 'dropdown' | 'flat';
export interface SelectProps<V = string> extends FieldComponentProps<V | undefined> {
    label?: string;
    options?: SelectOption<V>[];
    DefaultComponent?: JSXElementConstructor<{
        value: V;
    }>;
    canReset?: boolean;
    shape?: SelectShape;
    type?: SelectType;
    instructions?: ReactElement | string;
    fullWidth?: boolean;
    placeholder?: string;
    onSearch?: (search?: string) => unknown;
}
export declare function Select<V = string>({ value, error, warning, isActive, onFocus, onBlur, name, onChange, label, options, DefaultComponent, canReset, instructions, shape, type, fullWidth, placeholder, onSearch, }: SelectProps<V>): ReactElement;
