import { Type, TypedValue } from "./types"; /** * An optional is an algebraic type. It holds zero or one values. */ export declare class OptionalType extends Type { static ClassName: string; constructor(typeParameter: Type); getClassName(): string; isAssignableFrom(type: Type): boolean; } export declare class OptionalValue extends TypedValue { static ClassName: string; private readonly value; constructor(type: OptionalType, value?: TypedValue | null); getClassName(): string; /** * Creates an OptionalValue, as not provided (missing). */ static newMissing(): OptionalValue; isSet(): boolean; getTypedValue(): TypedValue; valueOf(): any; equals(other: OptionalValue): boolean; }