import { DataUnit } from "@sankhyalabs/core";
import { IFormConfig, IFormSheetMetadata } from "./interfaces";
export declare class FormMetadata {
  private _sheets;
  private _requiredFields;
  private _cleanOnCopyFields;
  private _defaultValues;
  private _defaultVars;
  static getDetailName(name: string): string;
  getSheet(name: string): IFormSheetMetadata;
  getAllSheets(): Map<string, IFormSheetMetadata>;
  addSheet(sheet: IFormSheetMetadata): void;
  addRequiredFields(fields: Array<string>): void;
  getRequiredFields(): Array<string>;
  addCleanOnCopyFields(fields: Array<string>): void;
  getCleanOnCopyFields(): Array<string>;
  addDefaultValues(defaultValues: any): void;
  getDefaultValues(): any;
  getDefaultVar(name: string): any;
  setDefaultVars(vars: Map<string, any>): void;
}
export declare const buildFormConfigFromDataUnit: (dataUnit: DataUnit) => IFormConfig;
export declare const buildFormMetadata: (config: IFormConfig, dataUnit: DataUnit, includeDetails?: boolean) => FormMetadata;
