<commit_before>export interface CustomElement extends HTMLElement {
  attributeChangedCallback?(name: string, oldValue: string, newValue: string);
  childrenUpdated?();
  connectedCallback?();
  disconnectedCallback?();
  forceUpdate?();
  props?: Object;
  render?();
  renderer?: (root: Root, func: () => any) => void;
  renderRoot?: Root;
  shouldRender?(props: Object, state: Object): boolean;
  state?: Object;
  updated?(props: Object, state: Object);
}

export interface CustomElementConstructor {
  new (): CustomElement;
  is?: string;
  observedAttributes?: Array<string>;
  name: string;
  props?: {};
}

export type DenormalizedPropType = {
  deserialize: void | ((string) => any);
  serialize: void | ((any) => string | void);
  source: string | void | ((string) => string | void);
  target: string | void | ((string) => string | void);
};

export type NormalizedPropType = {
  deserialize: (string) => any;
  serialize: (any) => string | void;
  source: string | void;
  target: string | void;
};

export type NormalizedPropTypes = Array<{
  propName: string;
  propType: NormalizedPropType;
}>;

export type ObservedAttributes = Array<string>;

export type PropType =
  | ArrayConstructor
  | BooleanConstructor
  | NumberConstructor
  | ObjectConstructor
  | StringConstructor
  | DenormalizedPropType;

export type PropTypes = {
  [s: string]: PropType;<commit_msg>Update types.<commit_after>export interface CustomElement extends HTMLElement {
  attributeChangedCallback?(name: string, oldValue: string, newValue: string);
  childrenUpdated?();
  connectedCallback?();
  disconnectedCallback?();
  forceUpdate?();
  props?: Props;
  render?();
  rendered?(props: Props);
  renderer?(root: Root, func: () => any);
  renderRoot?: Root;
  shouldRender?(props: Props): boolean;
  updated?(props: Props);
}

export interface CustomElementConstructor {
  new (): CustomElement;
  is?: string;
  observedAttributes?: Array<string>;
  name: string;
  props?: {};
}

export type DenormalizedPropType = {
  changed?:
    | void
    | ((elem: HTMLElement, name: string, oldValue: any, newValue: any) => void);
  defined?: void | ((ctor: CustomElementConstructor, name: string) => void);
  deserialize?: void | ((string) => any);
  serialize?: void | ((any) => string | void);
  source?: string | void | ((name: string) => string | void);
  target?: string | void | ((name: string) => string | void);
  [s: string]: any;
};

export type NormalizedPropType = {
  changed: ((
    elem: HTMLElement,
    name: string,
    oldValue: any,
    newValue: any
  ) => void);
  defined: ((ctor: CustomElementConstructor, name: string) => void);
  deserialize: (string) => any;
  serialize: (any) => string | void;
  source: string | void;
  target: string | void;
  [s: string]: any;
};

export type NormalizedPropTypes = Array<{
  propName: string;
  propType: NormalizedPropType;
}>;

export type ObservedAttributes = Array<string>;

export type Props = {
  [s: string]: any;
};

export type PropType =
  | ArrayConstructor
  | BooleanConstructor
  | NumberConstructor
  | ObjectConstructor
  | StringConstructor
  | DenormalizedPropType;

export type PropTypes = {
  [s: string]: PropType;
{'fraction_non_alphanumeric': 0.14366373902132998, 'fraction_numerical': 0.0, 'mean_word_length': 4.624338624338624, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 28, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6318557', 'n_tokens_mistral': 958, 'n_tokens_neox': 966, 'n_words': 274}