import type { Size } from '../../composables/size';
import { deepEqual } from '../../utils';
import type { DefineComponent, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType } from 'vue';
export declare const TagGroupKey: unique symbol;
export declare const TagGroup: DefineComponent<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: {
        type: PropType<"tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" | "circle">;
        default: string;
    };
    border: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    density: {
        type: PropType<"medium" | "ultra-low" | "low" | "high" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<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: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    top: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: PropType<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: (BooleanConstructor | StringConstructor | ObjectConstructor | 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, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    'update:modelValue': (_modelValue: any) => true;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: {
        type: PropType<"tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" | "circle">;
        default: string;
    };
    border: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    density: {
        type: PropType<"medium" | "ultra-low" | "low" | "high" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<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: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    position: {
        type: PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    top: (BooleanConstructor | StringConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: PropType<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "default" | "type"> & {
        type: PropType<NonNullable<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: (BooleanConstructor | StringConstructor | ObjectConstructor | 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;
}, {
    modelValue: string | number | boolean | Record<string, any> | unknown[];
    fixed: boolean;
    disabled: boolean;
    tag: string;
    variant: NonNullable<"text" | "contained" | "outlined" | "plain" | "contained-text" | "contained-outlined">;
    absolute: boolean;
    size: Size | undefined;
    density: "medium" | "ultra-low" | "low" | "high" | "ultra-high" | undefined;
    shape: "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill" | "circle";
    selectedClass: string;
    multiple: boolean;
    valueComparator: typeof deepEqual;
    column: boolean;
}>;
export declare type TagGroup = InstanceType<typeof TagGroup>;
//# sourceMappingURL=tag-group.d.ts.map