import { PropertyValueMap } from 'lit';
import { default as DapDSPopup } from '../popup/popup.component.js';
/**
 * `dap-ds-command`
 * @summary A command is a component that displays a list of commands.
 * @element dap-ds-command
 * @title - Command
 *
 * @event {{ value: string }} dds-change - Fired when the command value changes.
 *
 * @slot trigger - The trigger element for the command dropdown.
 * @slot - The command items.
 */
export default class DapDSCommand extends DapDSPopup {
    static tagName: string;
    static dependencies: {
        'dap-ds-popup': typeof DapDSPopup;
    };
    constructor();
    private readonly _trigger;
    static readonly styles: import('lit').CSSResult;
    /**
     * The value of the command.
     */
    value: string | null;
    /** Whether the command popup should take full width of the screen. */
    fullWidth: boolean;
    /** ID of element that labels the command dropdown. */
    ariaLabelledBy?: string;
    private _lastClickedItem;
    private _keyboardNavigation;
    connectedCallback(): Promise<void>;
    disconnectedCallback(): void;
    protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    updated(changedProperties: Map<string, unknown>): Promise<void>;
    private _initializeKeyboardNavigation;
    private _handleKeyDown;
    private _handleMenuItemClick;
    private handleClick;
    private handleDocumentMouseDown;
    showDropDown(): Promise<void>;
    hideDropDown(options?: {
        skipFocus?: boolean;
    }): Promise<void>;
    private _handleFocusOut;
    private _handlePopupAutoClose;
    focus(): void;
    private _handleTriggerChange;
    private _handleDefaultSlotChange;
    render(): import('lit-html').TemplateResult;
}
