//@flow
/* eslint-disable prettier */

//styled-components theme

declare type Theme = {
  type: {
    ["title" | "heading" | "paragraph" | "label"]: string
  },
  scale: {
    ["s1" | "s2" | "s3" | "s4" | "s8"]: (n?: number) => string
  },
  color: {
    ["background" | "black" | "primary" | "pink" | "yellow" | "green"]: string
  },
  utils: {
    "baseAdjust": (n: number) => string
  },
  effect: {
    ["lighten" | "darken"]: () => string
  }
};

//component queries
//prettier-ignore
type compQuery = Array<(height?: number, width?: number) => { [string]: mixed }>;

declare type compConfig = {
  monitorWidth: boolean,
  monitorHeight: boolean,
  refreshRate: number,
  pure: boolean
};

//prettier-ignore
declare function componentQueries({
  queries?: compQuery,
  config?: compConfig
}): <T>(React$Element<*>) => React$Element<T>;

//HMR

declare var module: {
  hot: {
    accept(path: string, callback: () => void): void
  }
};

@@ -926,16 +926,1337 @@
 d): void%0A  %7D%0A%7D;%0A
+ //Bubble%0Adeclare type originTuple = %5Bnumber, number%5D;%0A%0Adeclare type dataObject = %7B%0A  cx: number,%0A  cy: number,%0A  r: number,%0A  origin: originTuple%0A%7D;%0A%0Adeclare type defaultBubbleConfig = %7B%0A  children?: Array%3Cstring %7C Array%3Cstring %7C object%3Cstring%3E%3E%3E,%0A  characterWidth: number,%0A  minTextWidth: number,%0A  paddingLrg: number,%0A  paddingSml: number,%0A  textHeight: number,%0A  verticalMargin: number,%0A  columns: number,%0A  size: string,%0A  underlineAdjustment: number,%0A  speachDirection: String%3C%22top-left%22%0A      %7C %22top-right%22%0A      %7C %22right-top%22%0A      %7C %22right-bottom%22%0A      %7C %22bottom-left%22%0A      %7C %22bottom-right%22%0A      %7C %22left-bottom%22%0A      %7C %22bottom-right%22%3E,%0A  dimentions: %7B%0A    x: number,%0A    y: number%0A  %7D,%0A  origin: %7B%0A    x: number,%0A    y: number%0A  %7D%0A%7D;%0A%0Adeclare type optionalBubbleConfig = %7B%0A  children?: Array%3Cstring %7C %5Bstring, %7B target: string %7D%5D%3E,%0A  characterWidth?: number,%0A  minTextWidth?: number,%0A  paddingLrg?: number,%0A  paddingSml?: number,%0A  textHeight?: number,%0A  verticalMargin?: number,%0A  columns?: number,%0A  size?: string,%0A  underlineAdjustment?: number,%0A  speachDirection?: String%3C%22top-left%22%0A      %7C %22top%22%0A      %7C %22top-right%22%0A      %7C %22right-top%22%0A      %7C %22right%22%0A      %7C %22right-bottom%22%0A      %7C %22bottom-left%22%0A      %7C %22bottom%22%0A      %7C %22bottom-right%22%0A      %7C %22left-bottom%22%0A      %7C %22bottom%22%0A      %7C %22bottom-right%22%3E%0A%7D;%0A

Add Buuble types to global libdef