import { IsotopeNode } from "@isotope/core"; import { Properties } from "csstype"; interface Breakpoints { sm: T; md: T; lg: T; xl: T; } interface Colors { dark: string; darker: string; light: string; lighter: string; primary: string; secondary: string; } interface Config { breakpoints: Breakpoints; colors: Colors; } interface PrototopeContext { prototope: Data; } interface CurrentData { breakpoint?: keyof Breakpoints | null; subSelector?: string | null; className?: string | null; } interface Data { data: CurrentData; registry: PrototopeRegistry; config: Config; } interface PartialConfig { breakpoints?: Partial>; colors?: Partial; } interface PrototopeRegistry { addBreakpoint(breakpoint: keyof Breakpoints): void; addRule(properties: Properties, config: CurrentData): string; getCSS(): string; getRule(data: CurrentData): Properties | null; } type Util = (node: IsotopeNode) => void; export { Breakpoints, Colors, Config, CurrentData, Data, PartialConfig, PrototopeContext, PrototopeRegistry, Util };