import { Value, ValueType, ListValue } from "./Value"; import { Path } from "./Path"; import { InkList } from "./InkList"; import { InkObject } from "./Object"; type BinaryOp = (left: T, right: T) => any; type UnaryOp = (val: T) => any; export declare class NativeFunctionCall extends InkObject { static readonly Add: string; static readonly Subtract: string; static readonly Divide: string; static readonly Multiply: string; static readonly Mod: string; static readonly Negate: string; static readonly Equal: string; static readonly Greater: string; static readonly Less: string; static readonly GreaterThanOrEquals: string; static readonly LessThanOrEquals: string; static readonly NotEquals: string; static readonly Not: string; static readonly And: string; static readonly Or: string; static readonly Min: string; static readonly Max: string; static readonly Pow: string; static readonly Floor: string; static readonly Ceiling: string; static readonly Int: string; static readonly Float: string; static readonly Has: string; static readonly Hasnt: string; static readonly Intersect: string; static readonly ListMin: string; static readonly ListMax: string; static readonly All: string; static readonly Count: string; static readonly ValueOfList: string; static readonly Invert: string; static CallWithName(functionName: string): NativeFunctionCall; static CallExistsWithName(functionName: string): NativeFunctionCall | undefined; get name(): string; set name(value: string); _name: string | null; get numberOfParameters(): number; set numberOfParameters(value: number); _numberOfParameters: number; Call(parameters: InkObject[]): InkObject | null; CallType string; }>(parametersOfSingleType: Array>): Value | null; CallBinaryListOperation(parameters: InkObject[]): Value | null; CallListIncrementOperation(listIntParams: InkObject[]): ListValue; CoerceValuesToSingleType(parametersIn: InkObject[]): Value[]; constructor(name: string); constructor(name: string, numberOfParameters: number); constructor(); static Identity(t: T): any; static GenerateNativeFunctionsIfNecessary(): void; AddOpFuncForType(valType: ValueType, op: UnaryOp | BinaryOp): void; static AddOpToNativeFunc(name: string, args: number, valType: ValueType, op: UnaryOp | BinaryOp): void; static AddIntBinaryOp(name: string, op: BinaryOp): void; static AddIntUnaryOp(name: string, op: UnaryOp): void; static AddFloatBinaryOp(name: string, op: BinaryOp): void; static AddFloatUnaryOp(name: string, op: UnaryOp): void; static AddStringBinaryOp(name: string, op: BinaryOp): void; static AddListBinaryOp(name: string, op: BinaryOp): void; static AddListUnaryOp(name: string, op: UnaryOp): void; toString(): string; _prototype: NativeFunctionCall | null; _isPrototype: boolean; _operationFuncs: Map | UnaryOp> | null; static _nativeFunctions: Map | null; } export {};