import type { IDataObject } from 'n8n-workflow'; import type { CalculatedRecord, MatchFieldPair, PriceListItem, UsageRecord, OutputFieldConfig } from '../interfaces'; /** * Helper function to get a property from an object case-insensitively */ export declare function getPropertyCaseInsensitive(obj: Record, key: string): unknown; /** * Normalise data that may be provided as: * - String path to look up on a fallback object * - JSON string representing an object or array * - Direct object or array (e.g. from an expression) */ export declare function normaliseDataInput(input: unknown, fallbackData?: IDataObject): T[]; /** * Add match fields from a record to the output */ export declare function addMatchFieldsToOutput(outputRecord: CalculatedRecord, sourceRecord: PriceListItem | UsageRecord, matchFields: MatchFieldPair[], fieldType: 'pricelist' | 'usage', prefix: string): void; /** * Add extra fields to the output record */ export declare function addExtraFieldsToOutput(outputRecord: CalculatedRecord, priceRecord: PriceListItem, usageRecord: UsageRecord, outputConfig: OutputFieldConfig): void; /** * Sort object keys alphabetically (case-insensitive) and return a new object * This ensures consistent field ordering in output records */ export declare function sortObjectKeysAlphabetically(record: CalculatedRecord): CalculatedRecord;