import type { Schema } from "@featurevisor/types"; import { z } from "zod"; import { ProjectConfig } from "../config"; export declare function getFeatureZodSchema(projectConfig: ProjectConfig, conditionsZodSchema: any, availableAttributeKeys: [string, ...string[]], availableSegmentKeys: [string, ...string[]], availableFeatureKeys: [string, ...string[]], availableSchemaKeys?: string[], schemasByKey?: Record): z.ZodObject<{ archived: z.ZodOptional; deprecated: z.ZodOptional; description: z.ZodString; tags: z.ZodArray>>; required: z.ZodOptional>, z.ZodObject<{ key: z.ZodType>; variation: z.ZodOptional; }, z.core.$strict>]>>>; bucketBy: z.ZodUnion>, z.ZodArray>>, z.ZodObject<{ or: z.ZodArray>>; }, z.core.$strict>]>; variablesSchema: z.ZodOptional; schema: z.ZodOptional>>; type: z.ZodOptional, z.ZodEnum<{ string: "string"; boolean: "boolean"; object: "object"; integer: "integer"; double: "double"; array: "array"; }>]>>; items: z.ZodOptional>>; properties: z.ZodOptional>>>; additionalProperties: z.ZodOptional>>; required: z.ZodOptional>; enum: z.ZodOptional>>>; const: z.ZodOptional>>; oneOf: z.ZodOptional>>>; minimum: z.ZodOptional; maximum: z.ZodOptional; minLength: z.ZodOptional; maxLength: z.ZodOptional; pattern: z.ZodOptional; minItems: z.ZodOptional; maxItems: z.ZodOptional; uniqueItems: z.ZodOptional; description: z.ZodOptional; defaultValue: z.ZodType>; disabledValue: z.ZodOptional>>; useDefaultWhenDisabled: z.ZodOptional; }, z.core.$strict>>>; disabledVariationValue: z.ZodOptional; variations: z.ZodOptional; value: z.ZodString; weight: z.ZodNumber; variables: z.ZodOptional>, z.ZodNull]>>>; variableOverrides: z.ZodOptional>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>, z.ZodObject<{ segments: z.ZodUnion, any]>; value: z.ZodUnion>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>]>>>>; }, z.core.$strict>>>; expose: z.ZodOptional]>>> | z.ZodOptional & z.core.$partial, z.ZodOptional]>>>>; force: z.ZodOptional, any]>; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; }, z.core.$strict>, z.ZodObject<{ conditions: any; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; }, z.core.$strict>]>>> | z.ZodOptional & z.core.$partial, z.ZodOptional, any]>; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; }, z.core.$strict>, z.ZodObject<{ conditions: any; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; }, z.core.$strict>]>>>>>; rules: z.ZodArray; segments: z.ZodUnion, any]>; percentage: z.ZodNumber; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; variableOverrides: z.ZodOptional>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>, z.ZodObject<{ segments: z.ZodUnion, any]>; value: z.ZodUnion>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>]>>>>; variationWeights: z.ZodOptional>; }, z.core.$strict>> | z.ZodRecord & z.core.$partial, z.ZodArray; segments: z.ZodUnion, any]>; percentage: z.ZodNumber; enabled: z.ZodOptional; variation: z.ZodOptional; variables: z.ZodOptional>, z.ZodNull]>>>; variableOverrides: z.ZodOptional>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>, z.ZodObject<{ segments: z.ZodUnion, any]>; value: z.ZodUnion>, z.ZodNull]>, z.ZodRecord>, z.ZodNull]>>]>; }, z.core.$strict>]>>>>; variationWeights: z.ZodOptional>; }, z.core.$strict>>>; }, z.core.$strict>;