import * as React from 'react';
import { ISPPeoplePickerProps, ISPPeoplePickerState } from '.';
/**
 * Enums for People Picker
 */
/**
 * Name                 Value   Description
 * All                  15 	    Search all principal sources.
 * MembershipProvider 	4 	    Search the current membership provider.
 * None 	            0 	    Search no principal sources.
 * RoleProvider 	    8 	    Search the current role provider.
 * UserInfoList 	    1 	    Search the user information list.
 * Windows 	            2 	    Search active directory.
 */
export declare enum PrincipalSource {
    None = 0,
    UserInfoList = 1,
    Windows = 2,
    MembershipProvider = 4,
    RoleProvider = 8,
    All = 15
}
/**
 * Name                 Value   Description
 * All                  15 	    Return all entity types.
 * SecurityGroup 	    4 	    Return security group entity types.
 * None 	            0 	    Return no principal types.
 * SharePointGroup 	    8 	    Return sharepoint group entity types.
 * User 	            1 	    Return user entity types.
 * DistributionList 	2 	    Return distribution list entity types.
 */
export declare enum PrincipalType {
    None = 0,
    User = 1,
    DistributionList = 2,
    SecurityGroup = 4,
    SharePointGroup = 8,
    All = 15
}
/**
 * Picker component
 */
export declare class SPPeoplePicker extends React.Component<ISPPeoplePickerProps, ISPPeoplePickerState> {
    /**
     * Constructor
     * @param props ISPPeoplePickerProps
     */
    constructor(props: any);
    /**
     * Init the component
     */
    componentDidMount(): void;
    /**
     * Modify element when props chenges
     * @param nextProps next props
     */
    componentWillReceiveProps(nextProps: ISPPeoplePickerProps): void;
    /**
     * Parse to model a model by default
     * @param people array with people
     */
    private ParseModelUser;
    /**
     * Filter elements by text
     * @param filterText
     */
    private _onFilterChanged;
    /**
     * Filter elements by text
     * @param filterText
     */
    private GetResultsAsPromise;
    /**
     * Change values in component and send new values to parent
     * @param currentPersonas
     */
    private _onStateChange;
    /**
     * Render component
     */
    render(): JSX.Element;
}
