import { type ButtonHTMLAttributes, type AnchorHTMLAttributes, type HTMLAttributes, type VNode } from 'vue';
import type { RouteLocationRaw } from 'vue-router';
import { type NavId } from './common';
import { type OUIAProps } from '../../helpers/ouia';
interface Props extends OUIAProps, Omit, Omit {
/** Element rendering the nav item */
component?: string;
/** Element or component rendering the link. Defaults to a router-link with `to`, an anchor otherwise, or a button with a flyout */
linkComponent?: string;
/** Group identifier, emitted with the select event of the item and of the nav */
groupId?: NavId;
/** Item identifier, emitted with the select event of the item and of the nav */
itemId?: NavId;
/** Flag indicating whether the item is active */
active?: boolean;
/** Prevents the default link action on click, to handle the navigation yourself */
preventDefault?: boolean;
/** Additional classes added to the nav item */
itemClass?: HTMLAttributes['class'];
/** Additional attributes added to the nav item */
itemAttrs?: HTMLAttributes;
/** Router location of the link. Should not be used with a flyout. */
to?: RouteLocationRaw;
/** Tab index of the link. Removed from the tab order while the page sidebar is collapsed when not set. */
tabindex?: string | number;
/** z-index of the flyout */
zIndex?: number;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
select: (event: Event, groupId: NavId | undefined, itemId: NavId | undefined) => any;
showflyout: () => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
onSelect?: ((event: Event, groupId: NavId | undefined, itemId: NavId | undefined) => any) | undefined;
onShowflyout?: (() => any) | undefined;
}>, {
component: string;
ouiaSafe: boolean;
zIndex: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
/** Content of the link */
default?: (props?: Record) => VNode[];
/** Icon added before the content */
icon?: (props?: Record) => VNode[];
/** Flyout of the item, usually a pf-menu with nav-flyout. The item renders a button rather than a link. */
flyout?: (props?: Record) => VNode[];
}>;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=NavItem.vue.d.ts.map