import { FormDefinition } from '@rxap/forms'; export declare const RXAP_USE_FUNCTION = "rxap/form-system/function/use"; export type FunctionParameterAdapterFunction = (args: Source) => Target; export type FunctionResultAdapterFunction = (result: Source) => Target; export interface UseFunctionConfig { adapter?: { args?: FunctionParameterAdapterFunction; result?: FunctionResultAdapterFunction; }; } export type UseFunctionType = (...args: Args) => Result; export declare function UseFunction(fnc: UseFunctionType, name: string, config?: UseFunctionConfig): (target: any, propertyKey: string) => void; export interface UseFunctionDefinition = UseFunctionConfig> { fnc: UseFunctionType; config?: Config; } export declare class ExtractFunctionsMixin { protected extractFunctions(defaultMap: (Map | null) | undefined, formDefinition: FormDefinition, controlId: string): Map; }