import { IDataObject, IExecuteFunctions } from 'n8n-workflow';
export interface ParameterMapping {
    paramKey: string;
    apiKey?: string;
    transform?: (value: any) => any;
    condition?: (value: any, allParams: IDataObject) => boolean;
}
/**
 * Processes a parameter and adds it to the request body if it meets conditions
 */
export declare function processParameter(params: IDataObject, requestBody: IDataObject, mapping: ParameterMapping): void;
/**
 * Process a batch of parameters using the same mapping logic
 */
export declare function processParameterBatch(params: IDataObject, requestBody: IDataObject, mappings: ParameterMapping[]): void;
/**
 * Handles three-state boolean parameters (true/false/NO_SELECTION)
 * Converts string representations to actual boolean values for the API
 */
export declare function processThreeStateBoolean(params: IDataObject, requestBody: IDataObject, paramKey: string, apiKey?: string): void;
/**
 * Processes numeric parameters, converting from string to number if needed
 */
export declare function processNumericParameter(params: IDataObject, requestBody: IDataObject, paramKey: string, apiKey?: string): void;
/**
 * Maps common parameter types to their corresponding processing functions
 */
export declare function buildRequestBody(this: IExecuteFunctions, itemIndex: number): IDataObject;
