import { Property, View, ObservableArray, EventData } from "@nativescript/core";
export declare enum AutoCompleteDisplayMode {
    Tokens = "Tokens",
    Plain = "Plain"
}
export declare enum AutoCompleteSuggestMode {
    Suggest = "Suggest",
    Append = "Append",
    SuggestAppend = "SuggestAppend"
}
export declare enum AutoCompleteLayoutMode {
    Horizontal = "Horizontal",
    Wrap = "Wrap"
}
export declare enum AutoCompleteCompletionMode {
    StartsWith = "StartsWith",
    Contains = "Contains"
}
export declare enum AutoCompleteViewType {
    ItemView = "ItemView"
}
export declare class SuggestionView extends View {
    private _owner;
    suggestionViewHeight: number;
    suggestionItemTemplate: string;
    constructor();
    get android(): any;
    get _nativeView(): any;
    get owner(): RadAutoCompleteTextView;
    set owner(value: RadAutoCompleteTextView);
    protected updateView(): void;
    static suggestionViewHeightProperty: Property<SuggestionView, number>;
    private onSuggestionViewHeightPropertyChanged;
    protected onSuggestionViewHeightChanged(oldValue: number, newValue: number): void;
    static suggestionItemTemplateProperty: Property<SuggestionView, string>;
    private onSuggestionItemTemplatePropertyChanged;
    protected onSuggestionItemTemplateChanged(oldValue: string, newValue: string): void;
}
export declare class TokenModel {
    image: string;
    text: string;
    constructor(text: string, image: string);
    get android(): any;
    get ios(): any;
    toString(): string;
}
export declare class ClearButton extends View {
}
export declare class TokenClearButton extends View {
}
export declare class Token extends View {
    get clearButton(): ClearButton;
}
export declare class NoResultsLabel extends View {
}
export declare class CollectionViewEventData implements EventData {
    private _eventName;
    private _object;
    private _index;
    private _groupIndex;
    private _data;
    private _returnValue;
    private _view;
    private _android;
    private _ios;
    constructor();
    get android(): any;
    set android(value: any);
    get ios(): any;
    set ios(value: any);
    get eventName(): string;
    set eventName(value: string);
    get object(): any;
    set object(value: any);
    get index(): number;
    set index(value: number);
    get groupIndex(): number;
    set groupIndex(value: number);
    get data(): any;
    set data(value: any);
    get returnValue(): any;
    set returnValue(value: any);
    get view(): View;
    set view(value: View);
}
export declare class AutoCompleteEventData implements EventData {
    private _eventName;
    private _object;
    private _token;
    private _text;
    constructor(object: any, eventName: string, text: string, token: TokenModel);
    get eventName(): string;
    set eventName(value: string);
    get text(): string;
    set text(value: string);
    get token(): TokenModel;
    set token(value: TokenModel);
    get object(): any;
    set object(value: any);
}
export declare class RadAutoCompleteTextView extends View {
    static textChangedEvent: string;
    static tokenRemovedEvent: string;
    static tokenAddedEvent: string;
    static tokenSelectedEvent: string;
    static tokenDeselectedEvent: string;
    static didAutoCompleteEvent: string;
    static suggestionViewBecameVisibleEvent: string;
    static itemLoadingEvent: string;
    loadSuggestionsAsync: any;
    items: ObservableArray<TokenModel>;
    displayMode: AutoCompleteDisplayMode;
    completionMode: AutoCompleteCompletionMode;
    layoutMode: AutoCompleteLayoutMode;
    suggestMode: AutoCompleteSuggestMode;
    hint: string;
    text: string;
    minimumCharactersToSearch: number;
    tokenItemSpacing: number;
    noResultsText: string;
    showCloseButton: boolean;
    closeButtonImageSrc: string;
    suggestionView: SuggestionView;
    private _itemViewLoader;
    readOnly: boolean;
    _tokens: Array<Token>;
    _ngKey: any;
    _vueKey: any;
    private _autoCompleteFocusHandler;
    private _autoCompleteBlurHandler;
    constructor();
    get itemViewLoader(): (viewType: any) => View;
    get filteredItems(): Array<TokenModel>;
    get selectedTokens(): Array<TokenModel>;
    get clearButton(): ClearButton;
    get noResultsLabel(): NoResultsLabel;
    set itemViewLoader(value: (viewType: any) => View);
    _updateAutoCompleteFocusBlurHandlers(subscribe: boolean): void;
    static loadSuggestionsAsyncProperty: Property<RadAutoCompleteTextView, any>;
    private onLoadSuggestionsAsyncPropertyChanged;
    protected onLoadSuggestionsAsyncChanged(oldValue: any, newValue: any): void;
    protected onItemViewLoaderChanged(): void;
    protected resolveTemplateView(template: string): View;
    private _getDefaultItemContent;
    getViewForViewType(viewType: any): any;
    static itemsProperty: Property<RadAutoCompleteTextView, ObservableArray<TokenModel>>;
    private onItemsPropertyChanged;
    protected onItemsChanged(oldValue: ObservableArray<TokenModel>, newValue: ObservableArray<TokenModel>): void;
    static suggestionViewProperty: Property<RadAutoCompleteTextView, SuggestionView>;
    private onSuggestionViewPropertyChanged;
    protected onSuggestionViewChanged(oldValue: SuggestionView, newValue: SuggestionView): void;
    static displayModeProperty: Property<RadAutoCompleteTextView, AutoCompleteDisplayMode>;
    private onDisplayModePropertyChanged;
    protected onDisplayModeChanged(oldValue: AutoCompleteDisplayMode, newValue: AutoCompleteDisplayMode): void;
    static completionModeProperty: Property<RadAutoCompleteTextView, AutoCompleteCompletionMode>;
    private onCompletionModePropertyChanged;
    protected onCompletionModeChanged(oldValue: AutoCompleteCompletionMode, newValue: AutoCompleteCompletionMode): void;
    static layoutModeProperty: Property<RadAutoCompleteTextView, AutoCompleteLayoutMode>;
    private onLayoutModePropertyChanged;
    protected onLayoutModeChanged(oldValue: AutoCompleteLayoutMode, newValue: AutoCompleteLayoutMode): void;
    static suggestModeProperty: Property<RadAutoCompleteTextView, AutoCompleteSuggestMode>;
    private onSuggestModePropertyChanged;
    protected onSuggestModeChanged(oldValue: AutoCompleteSuggestMode, newValue: AutoCompleteSuggestMode): void;
    static hintProperty: Property<RadAutoCompleteTextView, string>;
    private onHintPropertyChanged;
    protected onHintChanged(oldValue: string, newValue: string): void;
    static textProperty: Property<RadAutoCompleteTextView, string>;
    private onTextPropertyChanged;
    protected onTextChanged(oldValue: string, newValue: string): void;
    static minimumCharactersToSearchProperty: Property<RadAutoCompleteTextView, number>;
    private onMinimumCharactersToSearchPropertyChanged;
    protected onMinimumCharactersToSearchChanged(oldValue: number, newValue: number): void;
    static tokenItemSpacingProperty: Property<RadAutoCompleteTextView, number>;
    private onTokenItemSpacingPropertyChanged;
    protected onTokenItemSpacingChanged(oldValue: number, newValue: number): void;
    static noResultsTextProperty: Property<RadAutoCompleteTextView, string>;
    private onNoResultsTextPropertyChanged;
    protected onNoResultsTextChanged(oldValue: string, newValue: string): void;
    static showCloseButtonProperty: Property<RadAutoCompleteTextView, boolean>;
    private onShowCloseButtonPropertyChanged;
    protected onShowCloseButtonChanged(oldValue: boolean, newValue: boolean): void;
    static closeButtonImageSrcProperty: Property<RadAutoCompleteTextView, string>;
    private onCloseButtonImageSrcPropertyChanged;
    protected onCloseButtonImageSrcChanged(oldValue: string, newValue: string): void;
    static readOnlyProperty: Property<RadAutoCompleteTextView, boolean>;
    private onReadOnlyPropertyChanged;
    protected onReadOnlyChanged(oldValue: boolean, newValue: boolean): void;
    resetAutoComplete(): void;
    addToken(token: TokenModel): void;
    insertTokenAtIndex(token: TokenModel, index: number): void;
    removeToken(token: TokenModel): void;
    removeTokenAtIndex(index: number): void;
    removeAllTokens(): void;
    tokens(): void;
    tokenAtIndex(index: number): any;
    findSuggestions(): void;
    eachChild(callback: (child: View) => boolean): void;
}
export declare function setupCssScope(scopedView: any, unscopedView: any): void;
