import { BasePicker, BasePickerListBelow } from '../BasePicker';
import { IBasePickerProps, IBasePickerSuggestionsProps, ValidationState } from '../BasePicker.Props';
import { IPersonaProps } from '../../../Persona';
import './PeoplePicker.scss';
import { IPeoplePickerItemProps } from './PeoplePickerItems/PeoplePickerItem.Props';
export interface IPeoplePickerProps extends IBasePickerProps<IPersonaProps> {
}
export declare class BasePeoplePicker extends BasePicker<IPersonaProps, IPeoplePickerProps> {
}
export declare class MemberListPeoplePicker extends BasePickerListBelow<IPersonaProps, IPeoplePickerProps> {
}
/**
 * Standard People Picker.
 */
export declare class NormalPeoplePicker extends BasePeoplePicker {
    static defaultProps: {
        onRenderItem: (props: IPeoplePickerItemProps) => JSX.Element;
        onRenderSuggestionsItem: (props: IPersonaProps, itemProps?: IBasePickerSuggestionsProps) => JSX.Element;
        createGenericItem: (name: string, currentValidationState: ValidationState) => {
            key: string;
            primaryText: string;
            imageInitials: string;
            ValidationState: ValidationState;
        };
    };
}
/**
* Compact layout. It uses small personas when displaying search results.
*/
export declare class CompactPeoplePicker extends BasePeoplePicker {
    static defaultProps: {
        onRenderItem: (props: IPeoplePickerItemProps) => JSX.Element;
        onRenderSuggestionsItem: (props: IPersonaProps, itemProps?: IBasePickerSuggestionsProps) => JSX.Element;
        createGenericItem: (name: string, currentValidationState: ValidationState) => {
            key: string;
            primaryText: string;
            imageInitials: string;
            ValidationState: ValidationState;
        };
    };
}
/**
 * MemberList layout. The selected people show up below the search box.
 */
export declare class ListPeoplePicker extends MemberListPeoplePicker {
    static defaultProps: {
        onRenderItem: (props: IPeoplePickerItemProps) => JSX.Element;
        onRenderSuggestionsItem: (props: IPersonaProps, itemProps?: IBasePickerSuggestionsProps) => JSX.Element;
        createGenericItem: (name: string, currentValidationState: ValidationState) => {
            key: string;
            primaryText: string;
            imageInitials: string;
            ValidationState: ValidationState;
        };
    };
}
export declare function createGenericItem(name: string, currentValidationState: ValidationState): {
    key: string;
    primaryText: string;
    imageInitials: string;
    ValidationState: ValidationState;
};
