import { BaseDist } from "../../dists/BaseDist.js"; import { DistError } from "../../dists/DistError.js"; import { Env } from "../../dists/env.js"; import * as SampleSetDist from "../../dists/SampleSetDist/index.js"; import * as SymbolicDist from "../../dists/SymbolicDist/index.js"; import { FnDefinition } from "../../reducer/lambda/FnDefinition.js"; import { FnInput } from "../../reducer/lambda/FnInput.js"; import { Lambda } from "../../reducer/lambda/index.js"; import { Reducer } from "../../reducer/Reducer.js"; import { Type } from "../../types/Type.js"; import * as Result from "../../utility/result.js"; import { Value } from "../../value/index.js"; import { FormInput } from "../../value/VInput.js"; import { FrType } from "../FrType.js"; import { FRFunction } from "./core.js"; type SimplifiedArgs = Omit & Partial>; type ArgsWithoutDefinitions = Omit; export declare class FnFactory { nameSpace: string; requiresNamespace: boolean; constructor(opts: { nameSpace: string; requiresNamespace: boolean; }); make(args: SimplifiedArgs): FRFunction; n2n({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: number) => number; }): FRFunction; nn2n({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: number, y: number) => number; }): FRFunction; nn2b({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: number, y: number) => boolean; }): FRFunction; bb2b({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: boolean, y: boolean) => boolean; }): FRFunction; ss2b({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: string, y: string) => boolean; }): FRFunction; ss2s({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: string, y: string) => string; }): FRFunction; d2s({ fn, ...args }: ArgsWithoutDefinitions & { fn: (dist: BaseDist, env: Env) => string; }): FRFunction; dn2s({ fn, ...args }: ArgsWithoutDefinitions & { fn: (dist: BaseDist, n: number, env: Env) => string; }): FRFunction; d2n({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: BaseDist, reducer: Reducer) => number; }): FRFunction; d2b({ fn, ...args }: ArgsWithoutDefinitions & { fn: (x: BaseDist, env: Env) => boolean; }): FRFunction; d2d({ fn, ...args }: ArgsWithoutDefinitions & { fn: (dist: BaseDist, reducer: Reducer) => BaseDist; }): FRFunction; dn2d({ fn, ...args }: ArgsWithoutDefinitions & { fn: (dist: BaseDist, n: number, reducer: Reducer) => BaseDist; }): FRFunction; dn2n({ fn, ...args }: ArgsWithoutDefinitions & { fn: (dist: BaseDist, n: number, env: Env) => number; }): FRFunction; fromDefinition(name: string, def: FnDefinition): FRFunction; } export declare function unwrapDistResult(result: Result.result): T; export declare function doNumberLambdaCall(lambda: Lambda, args: Value[], reducer: Reducer): number; export declare function doBinaryLambdaCall(args: Value[], lambda: Lambda, reducer: Reducer): boolean; export declare const parseDistFromDistOrNumber: (d: number | BaseDist) => BaseDist; export declare function makeSampleSet(d: BaseDist, reducer: Reducer): SampleSetDist.SampleSetDist; export declare function twoVarSample(v1: BaseDist | number, v2: BaseDist | number, reducer: Reducer, fn: (v1: number, v2: number) => Result.result): SampleSetDist.SampleSetDist; export declare function makeTwoArgsSamplesetDist(fn: (v1: number, v2: number) => Result.result, name1: string, name2: string): FnDefinition; export declare function makeOneArgSamplesetDist(fn: (v: number) => Result.result, name: string): FnDefinition; export declare function makeNumericComparisons(fnFactory: FnFactory, smaller: (d1: T, d2: T) => boolean, larger: (d1: T, d2: T) => boolean, isEqual: (d1: T, d2: T) => boolean, frType: FrType, displaySection?: string): FRFunction[]; export declare const chooseLambdaParamLength: (inputOptions: number[], lambda: Lambda) => number | undefined; export declare const fnInputsMatchesLengths: (inputs: FnInput[], lengths: number[]) => boolean; export declare const typeToFormInput: (type: Type, name: string) => FormInput; export declare function checkNumericTickFormat(tickFormat: string | null): void; export {}; //# sourceMappingURL=helpers.d.ts.map