import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { PropType } from 'vue';
import { PublicProps } from 'vue';
import { RouteLocationRaw } from 'vue-router';
import { RouterLinkProps } from 'vue-router';

declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;

declare type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: PropType<T[K]>;
        required: true;
    };
};

declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

/**
 * Allowed attributes for the `<a>` element when the `href` prop is used.
 */
declare type AnchorAttrs = HTMLAnchorElement['download'] | HTMLAnchorElement['hreflang'] | HTMLAnchorElement['ping'] | HTMLAnchorElement['referrerPolicy'] | HTMLAnchorElement['rel'] | HTMLAnchorElement['target'] | HTMLAnchorElement['type'];

declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<TabProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<TabProps>>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
    default?(_: {
        isActive: boolean;
        isDisabled: boolean;
        variant: "line" | "enclosed";
    }): any;
}>;
export default _default;

export declare interface TabProps {
    /**
     * The tab identifier
     */
    value: string;
    /**
     * Router link `to` prop
     */
    to?: RouteLocationRaw;
    /**
     * Anchor tag href. Used for navigating to non-vue pages, such as Django pages in marketplace.
     */
    href?: string;
    /**
     * The badge's content
     */
    badge?: string | number;
    /**
     * Will render a plain text item if true.
     */
    disabled?: boolean;
    /**
     * Props for the `<a>` element when the `href` prop is used
     */
    anchorProps?: Record<AnchorAttrs, string>;
    /**
     * Props for the `<RouterLink>` element when the `to` prop is used
     */
    routerLinkProps?: Omit<RouterLinkProps, 'to'>;
}

export { }
