import { Initializer, DeepPartial } from "@azure-tools/codegen"; import { Extensions } from "../extensions"; import { Languages } from "../languages"; import { PrimitiveSchema, ValueSchema, Schema } from "../schema"; import { SchemaType } from "../schema-type"; import { Value } from "../value"; import { StringSchema } from "./string"; /** a schema that represents a value dependent on another */ export interface ConditionalSchema extends ValueSchema { /** the schema type */ type: SchemaType.Conditional; /** the primitive type for the conditional */ conditionalType: ConditionalType; /** the possible conditinal values */ conditions: Array; /** the source value that drives the target value (property or parameter) */ sourceValue: Value; } /** an individual value in a ConditionalSchema */ export interface ConditionalValue extends Extensions { /** per-language information for this value */ language: Languages; /** the actual value */ target: string | number | boolean; /** the actual value */ source: string | number | boolean; } export declare class ConditionalValue extends Initializer { constructor(name: string, description: string, source: string | number | boolean, target: string | number | boolean, objectInitializer?: DeepPartial); } export declare class ConditionalSchema extends Schema implements ConditionalSchema { constructor(name: string, description: string, sourceValue: Value, objectInitializer?: DeepPartial>); } /** a schema that represents a value dependent on another (not overridable) */ export interface SealedConditionalSchema extends ValueSchema { /** the schema type */ type: SchemaType.SealedConditional; /** the primitive type for the condition */ conditionalType: ConditionalType; /** the possible conditional values */ conditions: Array; /** the source value that drives the target value */ sourceValue: Value; } export declare class SealedConditionalSchema extends Schema implements SealedConditionalSchema { constructor(name: string, description: string, sourceValue: Value, objectInitializer?: DeepPartial>); } //# sourceMappingURL=conditional.d.ts.map