export type Dat = {
  s: string;
  v: number;
  ci?: string;
  uti?: string;
  uw: '0' | '1';
  ut: '0' | '1';
  um: '0' | '1';
  ue: '0' | '1';
  usp: '0' | '1';
  uto: '0' | '1';
  p: {
    we: boolean;
    fa: boolean;
    at?: string;
    gd?: string;
    ig?: boolean;
    css?: string;
    css1?: string;
    css2?: string;
    css3?: string;
    xpath?: string;
    match?: string;
    version?: string;
    current?: string;
    is_image: boolean;
  };
  d: {
    id: string;
    is_def: boolean;
    data: string | boolean;
    class?: 'int' | 'string' | 'expression';
    type: 'var' | 'text' | 'check' | 'select' | 'constr' | 'filter';
  }[];
  f: { id: number; type: string; tableid: string; columnid: string }[];
};

export type Prop = {
  name: string;
  label: string;
  before: string;
  priority: number;
  isVisible: boolean;
  isVariable: boolean;
  showIf: string | null;
  hasSeparator: boolean;
  hideIfDefault: boolean;
  maxSize: number | null;
  hideIfValueEquals: string | null;
  showLabel: 'auto' | 'never' | 'always';
};
