import type { FieldData } from './useForm/types';
/**
 * Creates a new object with specified keys omitted.
 *
 * @param obj - The source object
 * @param omit - Array of keys to omit from the result
 * @returns A new object without the omitted keys
 */
export declare const omitKeys: (obj: any, omit: any) => any;
/**
 * Adds keys to an object with values resolved from multiple sources.
 * Priority: existing value > pendingData > defaultData > initialValue
 *
 * @param obj - The base object to extend
 * @param add - Array of keys to add
 * @param initialValue - Fallback value if no other source has the key
 * @param defaultData - Default values for keys
 * @param pendingData - Pending values (highest priority after existing)
 * @returns A new object with the added keys
 */
export declare const addKeys: (obj: any, add: any, initialValue: any, defaultData?: any, pendingData?: any) => any;
/**
 * @description Extracts the field schema data from the form schema using the field component
 *
 * @param formData The data of the form using the field component
 * @param fieldKeys The keys in the field schema
 * @returns An object containing only the field schemas form data
 */
export declare function getDataByFields<FormSchema, Fields extends Array<keyof FormSchema>, FieldSchema extends {
    [field in keyof FormSchema]: FormSchema[field];
}>(formData: FormSchema, fieldKeys: Fields): FieldData<FieldSchema>;
