/*!
 * Copyright 2017 by ChartIQ, Inc.
 * All rights reserved.
 */
import React, { Component } from "react";
interface IProps {
    backButton?: Boolean;
    tags: string[];
    activeTags: string[];
    goHome: () => void;
    installationActionTaken: string;
    search: (searchTerms: string) => void;
}
interface IState {
    tagSelectorOpen: Boolean;
    searchText: string;
}
/**
 * The search bar, tags filter menu, and any active tags being filtered on
 * @param {object} props Component props
 * @param {boolean} [props.backButton] If true, display a back button for going back to the homepage
 * @param {array} props.tags An array of all available tags for the tags menu
 * @param {array} props.activeTags An array of active tags acting as search criteria
 * @param {func} props.goHome Function to handle sending the app back to the homepage
 * @param {string} props.installationActionTaken Name of action that handles display/hiding the success/failure message from adding/removing an app
 */
declare class SearchBar extends Component<IProps, IState> {
    textInput: React.RefObject<HTMLInputElement> | undefined;
    constructor(props: IProps);
    bindCorrectContext(): void;
    /**
     * Handles changing the component state for handling local input value. Also calls parent function to effect the store
     * @param {object} e React Synthetic event
     */
    changeSearch(e: React.ChangeEvent<HTMLInputElement>): void;
    /**
     * Opens/hides the tag selection menu
     */
    toggleTagSelector(): void;
    /**
     * Calls parent function to add a tag to filters
     * @param {string} tag The name of the tag
     */
    selectTag(tag: string): void;
    /**
     * Calls parent function to remove a tag from filters
     * @param {string} tag The name of the tag
     */
    removeTag(tag: string): void;
    /**
     * Clears search because 'back' button was clicked
     */
    goHome(): void;
    focus(): void;
    render(): React.JSX.Element;
}
export default SearchBar;
//# sourceMappingURL=SearchBar.d.ts.map