import type { Feature } from '../../feature'; import type { Writable } from 'ts-essentials'; import type { SourcePosition } from '@eagleoutice/flowr/util/range'; import type { MergeableRecord } from '@eagleoutice/flowr/util/objects'; declare const initialFunctionDefinitionInfo: { /** all, anonymous, assigned, non-assigned, ... */ total: number; /** how many are really using OP-Lambda? */ lambdasOnly: number; /** using `<<-`, `<-`, `=`, `->` `->>` */ assignedFunctions: number; nestedFunctions: number; /** functions that in some easily detectable way call themselves */ recursive: number; deepestNesting: number; }; export type FunctionDefinitionInfo = Writable; export declare const AllDefinitionsFileBase = "all-definitions"; export interface SingleFunctionDefinitionInformation extends MergeableRecord { location: SourcePosition; /** locations of all direct call sites */ callsites: SourcePosition[]; numberOfParameters: number; returns: { explicit: boolean; location: SourcePosition; }[]; length: { lines: number; characters: number; nonWhitespaceCharacters: number; }; } export declare const definedFunctions: Feature; export {};