import { deepEqual } from '@veno-ui/utils';
import type { PropType } from 'vue';
export declare const TagGroupKey: unique symbol;
export declare const TagGroup: import("vue").DefineComponent<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: {
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    };
    border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: (StringConstructor | ObjectConstructor | BooleanConstructor | NumberConstructor | ArrayConstructor)[];
        default: undefined;
    };
    multiple: BooleanConstructor;
    mandatory: PropType<boolean | "force">;
    max: NumberConstructor;
    selectedClass: {
        type: PropType<string>;
        default: string;
    };
    disabled: BooleanConstructor;
    column: BooleanConstructor;
    valueComparator: {
        type: PropType<typeof deepEqual>;
        default: typeof deepEqual;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (_modelValue: any) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: {
        type: PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    };
    border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: (StringConstructor | ObjectConstructor | BooleanConstructor | NumberConstructor | ArrayConstructor)[];
        default: undefined;
    };
    multiple: BooleanConstructor;
    mandatory: PropType<boolean | "force">;
    max: NumberConstructor;
    selectedClass: {
        type: PropType<string>;
        default: string;
    };
    disabled: BooleanConstructor;
    column: BooleanConstructor;
    valueComparator: {
        type: PropType<typeof deepEqual>;
        default: typeof deepEqual;
    };
}>> & {
    "onUpdate:modelValue"?: ((_modelValue: any) => any) | undefined;
}, {
    fixed: boolean;
    disabled: boolean;
    tag: string;
    variant: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    absolute: boolean;
    size: import("../../composables/size").Size | undefined;
    density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
    shape: "circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill";
    column: boolean;
    multiple: boolean;
    modelValue: string | number | boolean | Record<string, any> | unknown[];
    selectedClass: string;
    valueComparator: typeof deepEqual;
}>;
export type TagGroup = InstanceType<typeof TagGroup>;
