import { ColumnModel, ColumnTypeEnum } from '@sage-bionetworks/synapse-types';
import { type SafeParseReturnType, z } from 'zod';
import { SetOptional } from 'type-fest';
export declare const jsonSubColumnModelZodSchema: z.ZodObject<{
    name: z.ZodString;
    columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
} & {
    jsonPath: z.ZodString;
    facetType: z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>;
}, "strip", z.ZodTypeAny, {
    name: string;
    columnType: ColumnTypeEnum;
    facetType: "range" | "enumeration";
    jsonPath: string;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    facetType: "range" | "enumeration";
    jsonPath: string;
}>;
/**
 * Zod schema to validate a column model. The provided data is coerced and transformed to match the ColumnModel type.
 * For this reason, form data may be directly passed into this schema parser.
 *
 * The parse method will return a ColumnModel where all data is properly formed.
 */
export declare const columnModelZodSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
} & {
    id: z.ZodOptional<z.ZodString>;
    defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodAny, "many">]>>;
    maximumSize: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    maximumListLength: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    enumValues: z.ZodOptional<z.ZodArray<z.ZodPipeline<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodString>, "many">>;
    jsonSubColumns: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
    } & {
        jsonPath: z.ZodString;
        facetType: z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }>, "many">>;
    facetType: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>>;
    facetSortConfig: z.ZodOptional<z.ZodObject<{
        property: z.ZodOptional<z.ZodEnum<["FREQUENCY", "VALUE"]>>;
        direction: z.ZodOptional<z.ZodEnum<["DESC", "ASC"]>>;
    }, "strip", z.ZodTypeAny, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, Pick<{
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "maximumSize" | "maximumListLength" | "enumValues" | "facetType" | "jsonSubColumns" | "facetSortConfig" | ("name" | "columnType")> | {
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, Pick<Pick<{
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "maximumSize" | "maximumListLength" | "enumValues" | "facetType" | "jsonSubColumns" | "facetSortConfig" | ("name" | "columnType")> | {
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "name" | "columnType" | "maximumSize" | "maximumListLength" | "facetType" | "jsonSubColumns" | "facetSortConfig"> | {
    enumValues: string[] | undefined;
    id?: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
} | {
    enumValues: string[] | undefined;
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>;
export declare const columnModelFormDataZodSchema: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
} & {
    id: z.ZodOptional<z.ZodString>;
    defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodAny, "many">]>>;
    maximumSize: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    maximumListLength: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    enumValues: z.ZodOptional<z.ZodArray<z.ZodPipeline<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodString>, "many">>;
    jsonSubColumns: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
    } & {
        jsonPath: z.ZodString;
        facetType: z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }>, "many">>;
    facetType: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>>;
    facetSortConfig: z.ZodOptional<z.ZodObject<{
        property: z.ZodOptional<z.ZodEnum<["FREQUENCY", "VALUE"]>>;
        direction: z.ZodOptional<z.ZodEnum<["DESC", "ASC"]>>;
    }, "strip", z.ZodTypeAny, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, Pick<{
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "maximumSize" | "maximumListLength" | "enumValues" | "facetType" | "jsonSubColumns" | "facetSortConfig" | ("name" | "columnType")> | {
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, Pick<Pick<{
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "maximumSize" | "maximumListLength" | "enumValues" | "facetType" | "jsonSubColumns" | "facetSortConfig" | ("name" | "columnType")> | {
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, "id" | "name" | "columnType" | "maximumSize" | "maximumListLength" | "facetType" | "jsonSubColumns" | "facetSortConfig"> | {
    enumValues: string[] | undefined;
    id?: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
} | {
    enumValues: string[] | undefined;
    defaultValue: string | undefined;
    name: string;
    columnType: ColumnTypeEnum;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>, "many">;
declare const jsonSubColumnModelFormDataSchema: z.ZodObject<{
    name: z.ZodString;
    columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
} & {
    jsonPath: z.ZodString;
    facetType: z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>;
} & {
    isSelected: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    name: string;
    columnType: ColumnTypeEnum;
    facetType: "range" | "enumeration";
    jsonPath: string;
    isSelected: boolean;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    facetType: "range" | "enumeration";
    jsonPath: string;
    isSelected: boolean;
}>;
export type JsonSubColumnModelFormData = z.input<typeof jsonSubColumnModelFormDataSchema>;
declare const _columnModelFormDataSchema: z.ZodObject<{
    name: z.ZodString;
    columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
    id: z.ZodOptional<z.ZodString>;
    defaultValue: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodAny, "many">]>>;
    maximumSize: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    maximumListLength: z.ZodPipeline<z.ZodUnion<[z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, z.ZodNumber]>, z.ZodOptional<z.ZodNumber>>;
    enumValues: z.ZodOptional<z.ZodArray<z.ZodPipeline<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodString>, "many">>;
    facetType: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>>;
    facetSortConfig: z.ZodOptional<z.ZodObject<{
        property: z.ZodOptional<z.ZodEnum<["FREQUENCY", "VALUE"]>>;
        direction: z.ZodOptional<z.ZodEnum<["DESC", "ASC"]>>;
    }, "strip", z.ZodTypeAny, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }, {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    }>>;
} & {
    isSelected: z.ZodBoolean;
    isOriginallyDefaultColumn: z.ZodBoolean;
    jsonSubColumns: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        columnType: z.ZodNativeEnum<typeof ColumnTypeEnum>;
    } & {
        jsonPath: z.ZodString;
        facetType: z.ZodUnion<[z.ZodLiteral<"enumeration">, z.ZodLiteral<"range">]>;
    } & {
        isSelected: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
        isSelected: boolean;
    }, {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
        isSelected: boolean;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    name: string;
    columnType: ColumnTypeEnum;
    isSelected: boolean;
    isOriginallyDefaultColumn: boolean;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: number | undefined;
    maximumListLength?: number | undefined;
    enumValues?: string[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
        isSelected: boolean;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}, {
    name: string;
    columnType: ColumnTypeEnum;
    isSelected: boolean;
    isOriginallyDefaultColumn: boolean;
    defaultValue?: string | any[] | undefined;
    id?: string | undefined;
    maximumSize?: string | number | undefined;
    maximumListLength?: string | number | undefined;
    enumValues?: (string | number)[] | undefined;
    facetType?: "range" | "enumeration" | undefined;
    jsonSubColumns?: {
        name: string;
        columnType: ColumnTypeEnum;
        facetType: "range" | "enumeration";
        jsonPath: string;
        isSelected: boolean;
    }[] | undefined;
    facetSortConfig?: {
        direction?: "ASC" | "DESC" | undefined;
        property?: "FREQUENCY" | "VALUE" | undefined;
    } | undefined;
}>;
/**
 * Type that represents possible form input data for a ColumnModel.
 * a
 */
export type ColumnModelFormData = z.input<typeof _columnModelFormDataSchema>;
export declare function validateColumnModelFormData(formData: SetOptional<ColumnModelFormData, 'isOriginallyDefaultColumn' | 'isSelected'>[]): SafeParseReturnType<SetOptional<ColumnModelFormData, 'isOriginallyDefaultColumn' | 'isSelected'>[], SetOptional<ColumnModel, 'id'>[]>;
export {};
//# sourceMappingURL=ColumnModelValidator.d.ts.map