import { CSSResult, TemplateResult } from "lit";
import UiRipple from "../../ui/effects/ripple.js";
import { UiElement } from "../../ui/UiElement.js";
import '../../define/ui/ui-ripple.js';
export default class AppNavigationItemElement extends UiElement {
    static get styles(): CSSResult | CSSResult[];
    /**
     * When set, the button is a disabled state.
     * @attribute
     */
    disabled: boolean;
    /**
     * Whether the navigation item is selected.
     * @attribute
     */
    selected: boolean;
    protected ripple: Promise<UiRipple | null>;
    protected showRipple: boolean;
    protected readonly getRipple: () => Promise<UiRipple | null>;
    /**
     * Determines when the element has an icon in the "icon" slot.
     */
    protected hasIcon: boolean;
    constructor();
    connectedCallback(): void;
    protected handleFocus(): Promise<void>;
    protected handleBlur(): Promise<void>;
    handleKeyDown(e: KeyboardEvent): Promise<void>;
    handleKeyUp(e: KeyboardEvent): Promise<void>;
    /**
     * Sets the `_hasIcon` state property when the "icon" slot change event is dispatched.
     */
    protected iconSlotChange(e: Event): void;
    protected render(): TemplateResult;
    protected renderIcon(): TemplateResult;
    protected renderRipple: () => TemplateResult;
}
//# sourceMappingURL=AppNavigationItemElement.d.ts.map