import { ObservableMap } from '@stencil/store';
import { SelectionManagerStoreState } from './sl-selection-manager-store';
export declare class SlSelectionManager {
    el: HTMLSlSelectionManagerElement;
    private invokeSelectedCallback;
    private unregisterOnChange;
    /** List of valid items type in the list to return the correct value  */
    parentItemElementTypes: string[];
    /** Description text read by the screen reader */
    srHint: string;
    /** Enable selected background styling */
    enableSelection: boolean;
    /** If parent has shadowRoot enable */
    hasShadowRoot: boolean;
    /** Select the first element */
    selectFirstOne: boolean;
    /** Allow reselection of already selected items */
    allowReselection: boolean;
    /**
     * Callback that will fire when the tabs is selected.
     */
    selectedCallback?: ((el: any, keyName: string, pathname: string) => void) | string;
    store: ObservableMap<SelectionManagerStoreState>;
    selectedCallbackChanged(): void;
    enableSelectionChanged(): void;
    selectFirstOneChanged(): void;
    allowReselectionChanged(): void;
    /**
     * Improve navigation with arrow on menu but also ESC and END keys
     * @param e
     * @returns
     */
    onKeyDown(e: KeyboardEvent): void;
    constructor();
    componentWillLoad(): void;
    disconnectedCallback(): void;
    private setInvokeSelectedCallback;
    private selectedItemChanged;
    render(): any;
}
