import type { KeyValueResult, NonRootResult } from '../result/NonRootResult.js'; import type { FunctionResult, RootResult } from '../result/RootResult.js'; export type TransformFunction = (parseResult: NonRootResult) => TransformResult; export type TransformRule = (parseResult: InputType, transform: TransformFunction) => TransformResult; export type TransformRules = { [P in NonRootResult as P['type']]: TransformRule; }; export declare function transform(rules: TransformRules, parseResult: NonRootResult): TransformResult; export declare function notAvailableTransform(parseResult: NonRootResult): TransformResult; interface SpecialFunctionParams { params: Array; this?: RootResult; new?: RootResult; } export declare function extractSpecialParams(source: FunctionResult): SpecialFunctionParams; export {};