import { type Component, type PropType } from 'vue';
export type AsTag = 'a' | 'button' | 'div' | 'form' | 'h2' | 'h3' | 'img' | 'input' | 'label' | 'li' | 'nav' | 'ol' | 'p' | 'span' | 'svg' | 'ul' | 'template' | ({} & string);
export interface PrimitiveProps {
    /**
     * Setting "asChild" to true has the same effect as setting "as" to "template".
     * @default false
     */
    asChild?: boolean;
    /**
     * @default "div"
     */
    as?: AsTag | Component;
}
export declare const Primitive: import("vue").DefineComponent<{
    asChild: {
        type: BooleanConstructor;
        default: boolean;
    };
    as: {
        type: PropType<AsTag | Component>;
        default: string;
    };
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    asChild: {
        type: BooleanConstructor;
        default: boolean;
    };
    as: {
        type: PropType<AsTag | Component>;
        default: string;
    };
}>>, {
    asChild: boolean;
    as: AsTag | Component;
}, {}>;
