import type { TypedValue, Value } from "../value/index.js"; export type Neutral = Var | PatternVar | Ap | ApImplicit | Car | Cdr | Dot | Replace; export type Var = { "@type": "Neutral"; "@kind": "Var"; name: string; }; export declare function Var(name: string): Var; export type PatternVar = { "@type": "Neutral"; "@kind": "PatternVar"; name: string; }; export declare function PatternVar(name: string): PatternVar; export type Ap = { "@type": "Neutral"; "@kind": "Ap"; target: Neutral; targetType: Value; arg: TypedValue; }; export declare function Ap(target: Neutral, targetType: Value, arg: TypedValue): Ap; export type ApImplicit = { "@type": "Neutral"; "@kind": "ApImplicit"; target: Neutral; targetType: Value; arg: TypedValue; }; export declare function ApImplicit(target: Neutral, targetType: Value, arg: TypedValue): ApImplicit; export type Car = { "@type": "Neutral"; "@kind": "Car"; target: Neutral; targetType: Value; }; export declare function Car(target: Neutral, targetType: Value): Car; export type Cdr = { "@type": "Neutral"; "@kind": "Cdr"; target: Neutral; targetType: Value; }; export declare function Cdr(target: Neutral, targetType: Value): Cdr; export type Dot = { "@type": "Neutral"; "@kind": "Dot"; target: Neutral; targetType: Value; name: string; }; export declare function Dot(target: Neutral, targetType: Value, name: string): Dot; export type Replace = { "@type": "Neutral"; "@kind": "Replace"; target: Neutral; targetType: Value; motive: TypedValue; base: TypedValue; }; export declare function Replace(target: Neutral, targetType: Value, motive: TypedValue, base: TypedValue): Replace; //# sourceMappingURL=Neutral.d.ts.map