import { TranslationService } from '../services/translation.service';
export declare enum FieldType {
    String = "String",
    Integer = "Integer",
    Double = "Double",
    Boolean = "Boolean",
    Date = "Date",
    Time = "Time",
    DateTime = "DateTime",
    LocalDateTime = "LocalDateTime",
    Enum = "Enum",
    Lookup = "Lookup"
}
export interface FormField {
    name: string;
    type: FieldType;
    label: string;
    multiple?: boolean;
    searchFields?: FormField[];
    options?: Option[];
}
export interface Option {
    value: any;
    label: string;
}
export interface FilterToken {
    id: string;
    label: string;
}
/**
 * Merge two arrays removing duplicates
 */
export declare const mergeUnique: (array: Array<string>, otherArray: Array<string>) => Array<string>;
/**
 * Get type information for validation
 */
export declare const getTypeInformation: (type: FieldType, value: any) => {
    isValidValue: any;
    typeExists: boolean;
};
/**
 * Validate if filter value is valid for field type
 */
export declare const isValidFilter: (type: FieldType, value: any) => boolean;
/**
 * Get nested property value from object using dot notation
 */
export declare const getProp: (obj: any, path: string) => any;
/**
 * Set nested property value in object using dot notation
 */
export declare const setProp: (obj: any, path: string, value: any) => void;
/**
 * Create label-value pairs for display
 */
export declare const getLabelValueRequest: (contents: any[], displayFields: string[]) => any[];
/**
 * Get suggestion value for autocomplete
 */
export declare const getSuggestionValue: (displayFields: string[], ownerEntity: string, value: any, separator?: string) => string;
/**
 * Create enum query filter
 */
export declare const getEnumQuery: (name: string, value: any, multiple?: boolean) => string;
/**
 * Escape special characters in filter strings
 */
export declare const escapeFilterValue: (value: string) => string;
/**
 * Create filter string for different field types
 */
export declare const createFilterString: (formField: FormField, value: any) => string;
/**
 * Create filter tokens for UI display
 */
export declare const createFilterTokens: (formField: FormField, value: any, translationService: TranslationService) => FilterToken;
/**
 * Resolve $ref references in JSON objects
 */
export declare const resolveRefs: (payload: any) => any;
/**
 * Deep clone an object
 */
export declare const deepClone: <T>(obj: T) => T;
/**
 * Check if two objects are deeply equal
 */
export declare const deepEqual: (obj1: any, obj2: any) => boolean;
/**
 * Debounce function execution
 */
export declare const debounce: <T extends (...args: any[]) => any>(func: T, wait: number) => ((...args: Parameters<T>) => void);
/**
 * Throttle function execution
 */
export declare const throttle: <T extends (...args: any[]) => any>(func: T, limit: number) => ((...args: Parameters<T>) => void);
