import { LitElement } from 'lit';
import type { NavDrawerPosition } from '../types.js';
/**
 * Represents a side navigation container that provides
 * quick access between views.
 *
 * @element igc-nav-drawer
 *
 * @slot - The default slot for the igc-navigation-drawer.
 * @slot mini - The slot for the mini variant of the igc-navigation-drawer.
 *
 * @csspart base - The base wrapper of the igc-navigation-drawer.
 * @csspart main - The main container of the igc-navigation-drawer.
 * @csspart mini - The mini container of the igc-navigation-drawer.
 */
export default class IgcNavDrawerComponent extends LitElement {
    static readonly tagName = "igc-nav-drawer";
    static styles: import("lit").CSSResult[];
    static register(): void;
    private _miniSlotElements;
    /**
     * The position of the drawer.
     * @attr
     */
    position: NavDrawerPosition;
    /**
     * Determines whether the drawer is opened.
     * @attr
     */
    open: boolean;
    protected createRenderRoot(): HTMLElement | DocumentFragment;
    private _waitTransitions;
    /** Opens the drawer. */
    show(): Promise<boolean>;
    /** Closes the drawer. */
    hide(): Promise<boolean>;
    /** Toggles the open state of the drawer. */
    toggle(): Promise<boolean>;
    protected render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'igc-nav-drawer': IgcNavDrawerComponent;
    }
}
