import './assets/css/index.scss';
import './assets/css/github.scss';
import { SearchJSConfig } from './types';
export declare class SearchJSApp {
    config: SearchJSConfig;
    /**
     * UI component
     *
     * @var {SearchComponent} component
     */
    private component;
    /**
     * instance variable for singleton structure
     *
     * @var {SearchJSApp} _instance
     */
    private static _instance;
    /**
     * class constructor
     *
     * @param {SearchJSConfig} config
     */
    constructor(config: SearchJSConfig);
    /**
     * get singleton instance
     *
     * @param {SearchJSConfig} config
     * @returns {SearchJSApp}
     */
    static getInstance(config: SearchJSConfig): SearchJSApp;
    /**
     * function to open search modal
     *
     * @returns {void}
     */
    open(): void;
    /**
     * function to close search modal
     *
     * @returns {void}
     */
    close(): void;
    /**
     * private function to focus on search input when modal open
     *
     * @returns {void}
     */
    private focusOnSearch;
    /**
     * listen keyboard key press to open or close modal
     * (ctrl + k) | (cmd + k) to open modal
     * Esc to close modal
     *
     * @returns {void}
     */
    private listenKeyboardKeyPress;
}
/**
 * init search js
 *
 * @param {SearchJSConfig} config
 * @returns {SearchJSApp}
 */
declare const SearchJS: (config: SearchJSConfig) => SearchJSApp;
declare global {
    interface Window {
        SearchJS: (config: SearchJSConfig) => SearchJSApp;
    }
}
export default SearchJS;
export * from './types';
