import { type StaticType, type StaticDirection } from './static.mjs'; import { type TSchema, type TSchemaOptions } from './schema.mjs'; import { type TProperties } from './properties.mjs'; export type StaticDependent, StaticThen extends unknown = StaticType, StaticElse extends unknown = StaticType, Result extends unknown = (StaticIf & StaticThen) | Exclude> = Result; /** Represents a Dependent Type */ export interface TDependent extends TSchema { '~kind': 'Dependent'; if: If; then: Then; else: Else; } /** Creates a Dependent type */ export declare function Dependent(if_: If, then_: Then, else_: Else, options?: TSchemaOptions): TDependent; /** Returns true if the given value is TDependent. */ export declare function IsDependent(value: unknown): value is TDependent; /** Extracts options from a IsDependent. */ export declare function DependentOptions(type: TDependent): TSchemaOptions;