import { PropertyValueMap } from "lit";
import { FRoot } from "../../mixins/components/f-root/f-root";
import { FDiv } from "../f-div/f-div";
import { FPopover } from "../f-popover/f-popover";
declare const variants: readonly ["text", "icon"];
declare const sizes: readonly ["medium", "small"];
export type FBreadCrumbsProp = {
    tabIndex: number;
    title: string;
    icon?: string;
};
export type FBreadcrumbs = FBreadCrumbsProp[];
export type FBreadcrumbSize = (typeof sizes)[number];
export type FBreadcrumbVariant = (typeof variants)[number];
export declare class FBreadcrumb extends FRoot {
    /**
     * css loaded from scss file
     */
    static styles: import("lit").CSSResult[];
    /**
     * @attribute The medium size is the default.
     */
    size?: FBreadcrumbSize;
    /**
     * @attribute variant defines the type of brundcrumbs.
     */
    variant?: FBreadcrumbVariant;
    /**
     * @attribute The medium size is the default.
     */
    crumbs: FBreadcrumbs;
    /**
     * @attribute The disabled attribute can be set to keep a user from clicking.
     */
    disabled?: boolean;
    /**
     * popover element reference
     */
    popOverElement: FPopover;
    breadCrumbPopover: FDiv;
    initialCrumbs: FBreadCrumbsProp;
    middlePopoverCrumbs: FBreadcrumbs;
    endingCrumbs: FBreadcrumbs;
    /**
     * text size computed
     */
    get textSize(): "small" | "x-small";
    get iconSize(): "small" | "x-small";
    get crumbSize(): "32px" | "28px";
    /**
     *
     * @param index index number of crumbs
     * @param array crumbs array
     * @returns checks whether index is current crumb or not
     */
    isCurrentCrumb(index: number, array: FBreadcrumbs): boolean;
    /**
     * create seperate crumbs when crumbs length is greater than 4
     */
    createSeperateCrumbs(): void;
    /**
     *
     * @param crumb
     * @param index
     * @param array
     * @returns returns html to be printed in loop
     */
    crumbLoop(crumb: FBreadCrumbsProp, index: number, array: FBreadcrumbs): import("lit-html").TemplateResult<1>;
    /**
     *
     * @param action action whether to close or open popover
     */
    toggleBreadcrumbPopover(action: "open" | "close"): void;
    /**
     * dispatch click event
     * @param e event
     * @param value crumb value
     */
    handleDispatchEvent(e: MouseEvent, value: FBreadCrumbsProp): void;
    protected willUpdate(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
}
/**
 * Required for typescript
 */
declare global {
    interface HTMLElementTagNameMap {
        "f-breadcrumb": FBreadcrumb;
    }
}
export {};
