import type { ContextStack } from '../evaluator/ContextStack'; import type { AstNode, BindingTarget } from '../parser/types'; import type { SourceCodeInfo } from '../tokenizer/token'; import type { Builtin } from './interface'; /** * Formatting hint stored in Function node payloads. * Set at parse time to preserve the shorthand lambda form through formatting. */ export interface FunctionHints { /** True when authored as shorthand: `-> $ + 1` rather than `($) -> $ + 1`. */ isShorthand?: boolean; } export type Function = [BindingTarget[], AstNode[], FunctionHints?]; export declare function assertNameNotDefined(name: T, contextStack: ContextStack, builtin: Builtin, sourceCodeInfo?: SourceCodeInfo): asserts name is T;