import { AutocompleteOptions } from './autocomplete-options';
import { Observable } from 'rxjs';
import { SearchAutocompleteOption } from './search-autocomplete-option';
import { UserResourceService } from '../../../resources/engine-endpoint/user-resource.service';
import { OptionalDependencies } from '../../category-factory/optional-dependencies';
import { FormControl } from '@angular/forms';
/**
 * Contains implementation of querying the backend for user information.
 *
 * Should be used by all search categories that want to search by users to ensure the necessary code is kept in one place.
 */
export declare class UserAutocomplete implements AutocompleteOptions {
    protected _includeMe: boolean;
    static readonly USER_ICON = "account_circle";
    static readonly USER_ME_ICON = "person_pin_circle";
    static readonly USER_ME_TEMPLATE = "<<me>>";
    private static readonly _i18n;
    protected _userResourceService: UserResourceService;
    /**
     * @param optionalDependencies search OptionalDependencies
     * @param _includeMe whether the pseudo-user "ME" should be included in the search results
     */
    constructor(optionalDependencies: OptionalDependencies, _includeMe?: boolean);
    filterOptions(userInput: Observable<string | SearchAutocompleteOption<Array<string>>>): Observable<Array<SearchAutocompleteOption<Array<string>>>>;
    serializeOperandValue(valueFormControl: FormControl): any;
    deserializeOperandValue(savedOption: SearchAutocompleteOption<Array<string>>): Observable<SearchAutocompleteOption<Array<string>>>;
    private isUserMeTemplate;
}
