import React from "react";
import { z } from "zod";
declare const attributeFormSchema: z.ZodObject<{
    attrName: z.ZodString;
    isLocked: z.ZodOptional<z.ZodBoolean>;
    isWeightsEnabled: z.ZodOptional<z.ZodBoolean>;
    type: z.ZodEnum<["TEXT", "NUMBER", "SINGLE_SELECT", "MULTI_SELECT"]>;
    options: z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        id: z.ZodOptional<z.ZodString>;
        assignedUsers: z.ZodOptional<z.ZodNumber>;
        isGroup: z.ZodOptional<z.ZodBoolean>;
        contains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        attributeOptionId: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        value: string;
        id?: string | undefined;
        assignedUsers?: number | undefined;
        isGroup?: boolean | undefined;
        contains?: string[] | undefined;
        attributeOptionId?: string | undefined;
    }, {
        value: string;
        id?: string | undefined;
        assignedUsers?: number | undefined;
        isGroup?: boolean | undefined;
        contains?: string[] | undefined;
        attributeOptionId?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    options: {
        value: string;
        id?: string | undefined;
        assignedUsers?: number | undefined;
        isGroup?: boolean | undefined;
        contains?: string[] | undefined;
        attributeOptionId?: string | undefined;
    }[];
    type: "TEXT" | "NUMBER" | "SINGLE_SELECT" | "MULTI_SELECT";
    attrName: string;
    isLocked?: boolean | undefined;
    isWeightsEnabled?: boolean | undefined;
}, {
    options: {
        value: string;
        id?: string | undefined;
        assignedUsers?: number | undefined;
        isGroup?: boolean | undefined;
        contains?: string[] | undefined;
        attributeOptionId?: string | undefined;
    }[];
    type: "TEXT" | "NUMBER" | "SINGLE_SELECT" | "MULTI_SELECT";
    attrName: string;
    isLocked?: boolean | undefined;
    isWeightsEnabled?: boolean | undefined;
}>;
type AttributeFormValues = z.infer<typeof attributeFormSchema>;
interface AttributeFormProps {
    initialValues?: AttributeFormValues;
    onSubmit: (values: AttributeFormValues) => void;
    header: React.ReactNode;
}
export declare function getGroupOptionUpdate({ newGroupOptions, previousGroupOptions, subOption, allOptions, }: {
    newGroupOptions: {
        label: string;
        value: string | undefined;
    }[];
    previousGroupOptions: {
        label: string;
        value: string | undefined;
    }[];
    subOption: {
        attributeOptionId?: string;
    };
    allOptions: {
        attributeOptionId?: string;
        contains?: string[];
    }[];
}): {
    [key: number]: string[];
};
export declare function AttributeForm({ initialValues, onSubmit, header }: AttributeFormProps): JSX.Element;
export {};
//# sourceMappingURL=AttributesForm.d.ts.map