import { Record } from "@sankhyalabs/core";
import { IOption, ISearchArgument } from "../../../components/ez-combo-box/ez-combo-box";
export interface EditorMetadata {
  label: string;
  hidden: boolean;
  userInterface: string;
  options: {
    [key: string]: any;
  }[];
  props?: Map<string, any>;
  optionLoader?: (argument: ISearchArgument) => Promise<Array<IOption>> | Array<IOption> | IOption;
}
export declare enum CustomEditorSource {
  GRID = "GRID",
  FORM = "FORM"
}
export interface ICustomEditorParams {
  cellPossition?: number | undefined;
  eGridCell?: HTMLElement;
  value: any;
  name: string;
  currentEditor: HTMLElement;
  editorMetadata: EditorMetadata;
  record: Record;
  source: CustomEditorSource;
  setValue?: (value: any) => void;
  getValue?: () => any;
  charPress?: string | null;
  detailContext?: string;
}
export interface ICustomEditor {
  getEditorElement(params: ICustomEditorParams): HTMLElement | string | undefined;
}
