/// declare module "instance/status" { export const is: { browser: boolean; server: boolean; prerender: any; }; export default is; } declare module "observer/emitter" { export interface IUnwatcher { unwatch: () => void; } export class Emitter { watchers: {}; on(name: string, watcher: any): IUnwatcher; off(name: string, watcher: any): void; emit(name: string, ...data: any[]): void; } } declare module "tools/object" { export function get(obj: any, path: any): any; export function set(obj: any, path: string, value: any): boolean; export function pathParse(path: string): string[]; /** * Object.defineProperty syntatic sugar * * @param {*} Obj * @param {string} propName * @param {{ get: function, set: function }|*} value * @param {boolean} isEnum * @param {boolean} isConf */ export function def(obj: any, propName: any, value: any, isEnum: any, isConf: any): void; export function isPlainObject(obj: any): boolean; } declare module "tools/typecheck" { export function isString(str: any): str is string; export function isBoolean(bln: any): bln is string; export function isObject(obj: any): obj is string; } declare module "observer/observable" { export class Observable { private baseData; private basePath; id: string; private rawData; private EE; private childWatcher; private childArray; private childNum; constructor(baseData?: any, basePath?: string, id?: string); raw(path?: string): any; val(path?: string): any; get(path?: string): ObsObject; set(path: string, value: any): any; watch(path: string, watcher: any): { unwatch: () => void; }; unwatch(path: string, watcher: any): void; } export class ObsObject { id: string; path: string; private parent; constructor(id: string, path: string, parent: Observable); get(childPath: string): ObsObject; raw(): any; val(): any; set(value: any): any; watch(watcher: any): { unwatch: () => void; }; unwatch(watcher: any): void; } export interface IFilter { name: string; filterFn: (val) => any; } export const Filters: { [name: string]: (val) => void; }; export function registerFilter(name: string, filterFn: (val) => any): void; export function resetObsId(): void; } declare module "instance/global-event" { import { Emitter } from "observer/emitter"; export const GlobalEvent: Emitter; } declare module "compiler/uid" { export function getId(): number; export function genId(): string; export function resetElemId(): void; } declare module "glue/glue" { import { IUnwatcher } from "observer/emitter"; export abstract class Glue { id: string; el: HTMLElement; isInstalled: boolean; watchers: IUnwatcher[]; teardown(): void; abstract install(): void; abstract destroy(): void; } export function getEl(id: string): HTMLElement; export function removeElRef(id: string): void; export function installGlues(glues: Glue[]): void; export function destroyGlues(glues: Glue[]): void; export function addEvents(events: string[]): void; export function removeCurrentEvents(): void; } declare module "compiler/interfaces" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export interface IElem { _isElem: boolean; id: string; template: string; glues: Glue[]; events: string[]; } export interface IGlobalAttribute { empty?: boolean; if?: ObsObject; model?: ObsObject; link?: string; className?: IStyles; accesskey?: string | ObsObject; class?: string | ObsObject; dir?: string | ObsObject; draggable?: string | ObsObject; dropzone?: string | ObsObject; hidden?: string | ObsObject; id?: string | ObsObject; itemprop?: string | ObsObject; lang?: string | ObsObject; spellcheck?: string | ObsObject; style?: string | ObsObject; tabindex?: string | ObsObject; title?: string | ObsObject; onabort?: string | ObsObject; onautocomplete?: string | ObsObject; onautocompleteerror?: string | ObsObject; onblur?: string | ObsObject; oncancel?: string | ObsObject; oncanplay?: string | ObsObject; oncanplaythrough?: string | ObsObject; onchange?: string | ObsObject; onclick?: string | ObsObject; onclose?: string | ObsObject; oncontextmenu?: string | ObsObject; oncuechange?: string | ObsObject; ondblclick?: string | ObsObject; ondrag?: string | ObsObject; ondragend?: string | ObsObject; ondragenter?: string | ObsObject; ondragexit?: string | ObsObject; ondragleave?: string | ObsObject; ondragover?: string | ObsObject; ondragstart?: string | ObsObject; ondrop?: string | ObsObject; ondurationchange?: string | ObsObject; onemptied?: string | ObsObject; onended?: string | ObsObject; onerror?: string | ObsObject; onfocus?: string | ObsObject; oninput?: string | ObsObject; oninvalid?: string | ObsObject; onkeydown?: string | ObsObject; onkeypress?: string | ObsObject; onkeyup?: string | ObsObject; onload?: string | ObsObject; onloadeddata?: string | ObsObject; onloadedmetadata?: string | ObsObject; onloadstart?: string | ObsObject; onmousedown?: string | ObsObject; onmouseenter?: string | ObsObject; onmouseleave?: string | ObsObject; onmousemove?: string | ObsObject; onmouseout?: string | ObsObject; onmouseover?: string | ObsObject; onmouseup?: string | ObsObject; onmousewheel?: string | ObsObject; onpause?: string | ObsObject; onplay?: string | ObsObject; onplaying?: string | ObsObject; onprogress?: string | ObsObject; onratechange?: string | ObsObject; onreset?: string | ObsObject; onresize?: string | ObsObject; onscroll?: string | ObsObject; onseeked?: string | ObsObject; onseeking?: string | ObsObject; onselect?: string | ObsObject; onshow?: string | ObsObject; onsort?: string | ObsObject; onstalled?: string | ObsObject; onsubmit?: string | ObsObject; onsuspend?: string | ObsObject; ontimeupdate?: string | ObsObject; ontoggle?: string | ObsObject; onvolumechange?: string | ObsObject; onwaiting?: string | ObsObject; } export interface IAllAttribute extends IGlobalAttribute { accept?: string | ObsObject; 'accept-charset'?: string | ObsObject; accesskey?: string | ObsObject; action?: string | ObsObject; align?: string | ObsObject; alt?: string | ObsObject; autocomplete?: string | ObsObject; autofocus?: string | ObsObject; autoplay?: string | ObsObject; autosave?: string | ObsObject; bgcolor?: string | ObsObject; border?: string | ObsObject; buffered?: string | ObsObject; challenge?: string | ObsObject; charset?: string | ObsObject; checked?: string | ObsObject; cite?: string | ObsObject; class?: string | ObsObject; code?: string | ObsObject; codebase?: string | ObsObject; color?: string | ObsObject; cols?: string | ObsObject; colspan?: string | ObsObject; content?: string | ObsObject; contenteditable?: string | ObsObject; contextmenu?: string | ObsObject; controls?: string | ObsObject; coords?: string | ObsObject; data?: string | ObsObject; datetime?: string | ObsObject; default?: string | ObsObject; defer?: string | ObsObject; dir?: string | ObsObject; dirname?: string | ObsObject; disabled?: string | ObsObject; download?: string | ObsObject; draggable?: string | ObsObject; dropzone?: string | ObsObject; enctype?: string | ObsObject; for?: string | ObsObject; form?: string | ObsObject; formaction?: string | ObsObject; headers?: string | ObsObject; height?: string | ObsObject; hidden?: string | ObsObject; high?: string | ObsObject; href?: string | ObsObject; hreflang?: string | ObsObject; 'http-equiv'?: string | ObsObject; icon?: string | ObsObject; id?: string | ObsObject; ismap?: string | ObsObject; itemprop?: string | ObsObject; keytype?: string | ObsObject; kind?: string | ObsObject; label?: string | ObsObject; lang?: string | ObsObject; language?: string | ObsObject; list?: string | ObsObject; loop?: string | ObsObject; low?: string | ObsObject; manifest?: string | ObsObject; max?: string | ObsObject; maxlength?: string | ObsObject; media?: string | ObsObject; method?: string | ObsObject; min?: string | ObsObject; multiple?: string | ObsObject; muted?: string | ObsObject; name?: string | ObsObject; novalidate?: string | ObsObject; open?: string | ObsObject; optimum?: string | ObsObject; pattern?: string | ObsObject; ping?: string | ObsObject; placeholder?: string | ObsObject; poster?: string | ObsObject; preload?: string | ObsObject; radiogroup?: string | ObsObject; readonly?: string | ObsObject; rel?: string | ObsObject; required?: string | ObsObject; reversed?: string | ObsObject; rows?: string | ObsObject; rowspan?: string | ObsObject; scope?: string | ObsObject; scoped?: string | ObsObject; seamless?: string | ObsObject; selected?: string | ObsObject; shape?: string | ObsObject; size?: string | ObsObject; sizes?: string | ObsObject; span?: string | ObsObject; spellcheck?: string | ObsObject; src?: string | ObsObject; srcdoc?: string | ObsObject; srclang?: string | ObsObject; srcset?: string | ObsObject; start?: string | ObsObject; step?: string | ObsObject; style?: string | ObsObject; summary?: string | ObsObject; tabindex?: string | ObsObject; target?: string | ObsObject; title?: string | ObsObject; type?: string | ObsObject; usemap?: string | ObsObject; value?: string | ObsObject; width?: string | ObsObject; wrap?: string | ObsObject; } export interface IStyles { [index: number]: string | ObsObject; alignContent?: string | ObsObject; alignItems?: string | ObsObject; alignSelf?: string | ObsObject; alignmentBaseline?: string | ObsObject; animation?: string | ObsObject; animationDelay?: string | ObsObject; animationDirection?: string | ObsObject; animationDuration?: string | ObsObject; animationFillMode?: string | ObsObject; animationIterationCount?: string | ObsObject; animationName?: string | ObsObject; animationPlayState?: string | ObsObject; animationTimingFunction?: string | ObsObject; backfaceVisibility?: string | ObsObject; background?: string | ObsObject; backgroundAttachment?: string | ObsObject; backgroundClip?: string | ObsObject; backgroundColor?: string | ObsObject; backgroundImage?: string | ObsObject; backgroundOrigin?: string | ObsObject; backgroundPosition?: string | ObsObject; backgroundPositionX?: string | ObsObject; backgroundPositionY?: string | ObsObject; backgroundRepeat?: string | ObsObject; backgroundSize?: string | ObsObject; baselineShift?: string | ObsObject; border?: string | ObsObject; borderBottom?: string | ObsObject; borderBottomColor?: string | ObsObject; borderBottomLeftRadius?: string | ObsObject; borderBottomRightRadius?: string | ObsObject; borderBottomStyle?: string | ObsObject; borderBottomWidth?: string | ObsObject; borderCollapse?: string | ObsObject; borderColor?: string | ObsObject; borderImage?: string | ObsObject; borderImageOutset?: string | ObsObject; borderImageRepeat?: string | ObsObject; borderImageSlice?: string | ObsObject; borderImageSource?: string | ObsObject; borderImageWidth?: string | ObsObject; borderLeft?: string | ObsObject; borderLeftColor?: string | ObsObject; borderLeftStyle?: string | ObsObject; borderLeftWidth?: string | ObsObject; borderRadius?: string | ObsObject; borderRight?: string | ObsObject; borderRightColor?: string | ObsObject; borderRightStyle?: string | ObsObject; borderRightWidth?: string | ObsObject; borderSpacing?: string | ObsObject; borderStyle?: string | ObsObject; borderTop?: string | ObsObject; borderTopColor?: string | ObsObject; borderTopLeftRadius?: string | ObsObject; borderTopRightRadius?: string | ObsObject; borderTopStyle?: string | ObsObject; borderTopWidth?: string | ObsObject; borderWidth?: string | ObsObject; bottom?: string | ObsObject; boxShadow?: string | ObsObject; boxSizing?: string | ObsObject; breakAfter?: string | ObsObject; breakBefore?: string | ObsObject; breakInside?: string | ObsObject; captionSide?: string | ObsObject; clear?: string | ObsObject; clip?: string | ObsObject; clipPath?: string | ObsObject; clipRule?: string | ObsObject; color?: string | ObsObject; colorInterpolationFilters?: string | ObsObject; columnCount?: any; columnFill?: string | ObsObject; columnGap?: any; columnRule?: string | ObsObject; columnRuleColor?: any; columnRuleStyle?: string | ObsObject; columnRuleWidth?: any; columnSpan?: string | ObsObject; columnWidth?: any; columns?: string | ObsObject; content?: string | ObsObject; counterIncrement?: string | ObsObject; counterReset?: string | ObsObject; cssFloat?: string | ObsObject; cssText?: string | ObsObject; cursor?: string | ObsObject; direction?: string | ObsObject; display?: string | ObsObject; dominantBaseline?: string | ObsObject; emptyCells?: string | ObsObject; enableBackground?: string | ObsObject; fill?: string | ObsObject; fillOpacity?: string | ObsObject; fillRule?: string | ObsObject; filter?: string | ObsObject; flex?: string | ObsObject; flexBasis?: string | ObsObject; flexDirection?: string | ObsObject; flexFlow?: string | ObsObject; flexGrow?: string | ObsObject; flexShrink?: string | ObsObject; flexWrap?: string | ObsObject; floodColor?: string | ObsObject; floodOpacity?: string | ObsObject; font?: string | ObsObject; fontFamily?: string | ObsObject; fontFeatureSettings?: string | ObsObject; fontSize?: string | ObsObject; fontSizeAdjust?: string | ObsObject; fontStretch?: string | ObsObject; fontStyle?: string | ObsObject; fontVariant?: string | ObsObject; fontWeight?: string | ObsObject; glyphOrientationHorizontal?: string | ObsObject; glyphOrientationVertical?: string | ObsObject; height?: string | ObsObject; imeMode?: string | ObsObject; justifyContent?: string | ObsObject; kerning?: string | ObsObject; left?: string | ObsObject; length: number; letterSpacing?: string | ObsObject; lightingColor?: string | ObsObject; lineHeight?: string | ObsObject; listStyle?: string | ObsObject; listStyleImage?: string | ObsObject; listStylePosition?: string | ObsObject; listStyleType?: string | ObsObject; margin?: string | ObsObject; marginBottom?: string | ObsObject; marginLeft?: string | ObsObject; marginRight?: string | ObsObject; marginTop?: string | ObsObject; marker?: string | ObsObject; markerEnd?: string | ObsObject; markerMid?: string | ObsObject; markerStart?: string | ObsObject; mask?: string | ObsObject; maxHeight?: string | ObsObject; maxWidth?: string | ObsObject; minHeight?: string | ObsObject; minWidth?: string | ObsObject; msContentZoomChaining?: string | ObsObject; msContentZoomLimit?: string | ObsObject; msContentZoomLimitMax?: any; msContentZoomLimitMin?: any; msContentZoomSnap?: string | ObsObject; msContentZoomSnapPoints?: string | ObsObject; msContentZoomSnapType?: string | ObsObject; msContentZooming?: string | ObsObject; msFlowFrom?: string | ObsObject; msFlowInto?: string | ObsObject; msFontFeatureSettings?: string | ObsObject; msGridColumn?: any; msGridColumnAlign?: string | ObsObject; msGridColumnSpan?: any; msGridColumns?: string | ObsObject; msGridRow?: any; msGridRowAlign?: string | ObsObject; msGridRowSpan?: any; msGridRows?: string | ObsObject; msHighContrastAdjust?: string | ObsObject; msHyphenateLimitChars?: string | ObsObject; msHyphenateLimitLines?: any; msHyphenateLimitZone?: any; msHyphens?: string | ObsObject; msImeAlign?: string | ObsObject; msOverflowStyle?: string | ObsObject; msScrollChaining?: string | ObsObject; msScrollLimit?: string | ObsObject; msScrollLimitXMax?: any; msScrollLimitXMin?: any; msScrollLimitYMax?: any; msScrollLimitYMin?: any; msScrollRails?: string | ObsObject; msScrollSnapPointsX?: string | ObsObject; msScrollSnapPointsY?: string | ObsObject; msScrollSnapType?: string | ObsObject; msScrollSnapX?: string | ObsObject; msScrollSnapY?: string | ObsObject; msScrollTranslation?: string | ObsObject; msTextCombineHorizontal?: string | ObsObject; msTextSizeAdjust?: any; msTouchAction?: string | ObsObject; msTouchSelect?: string | ObsObject; msUserSelect?: string | ObsObject; msWrapFlow?: string | ObsObject; msWrapMargin?: any; msWrapThrough?: string | ObsObject; opacity?: string | ObsObject; order?: string | ObsObject; orphans?: string | ObsObject; outline?: string | ObsObject; outlineColor?: string | ObsObject; outlineStyle?: string | ObsObject; outlineWidth?: string | ObsObject; overflow?: string | ObsObject; overflowX?: string | ObsObject; overflowY?: string | ObsObject; padding?: string | ObsObject; paddingBottom?: string | ObsObject; paddingLeft?: string | ObsObject; paddingRight?: string | ObsObject; paddingTop?: string | ObsObject; pageBreakAfter?: string | ObsObject; pageBreakBefore?: string | ObsObject; pageBreakInside?: string | ObsObject; parentRule: CSSRule; perspective?: string | ObsObject; perspectiveOrigin?: string | ObsObject; pointerEvents?: string | ObsObject; position?: string | ObsObject; quotes?: string | ObsObject; right?: string | ObsObject; rubyAlign?: string | ObsObject; rubyOverhang?: string | ObsObject; rubyPosition?: string | ObsObject; stopColor?: string | ObsObject; stopOpacity?: string | ObsObject; stroke?: string | ObsObject; strokeDasharray?: string | ObsObject; strokeDashoffset?: string | ObsObject; strokeLinecap?: string | ObsObject; strokeLinejoin?: string | ObsObject; strokeMiterlimit?: string | ObsObject; strokeOpacity?: string | ObsObject; strokeWidth?: string | ObsObject; tableLayout?: string | ObsObject; textAlign?: string | ObsObject; textAlignLast?: string | ObsObject; textAnchor?: string | ObsObject; textDecoration?: string | ObsObject; textFillColor?: string | ObsObject; textIndent?: string | ObsObject; textJustify?: string | ObsObject; textKashida?: string | ObsObject; textKashidaSpace?: string | ObsObject; textOverflow?: string | ObsObject; textShadow?: string | ObsObject; textTransform?: string | ObsObject; textUnderlinePosition?: string | ObsObject; top?: string | ObsObject; touchAction?: string | ObsObject; transform?: string | ObsObject; transformOrigin?: string | ObsObject; transformStyle?: string | ObsObject; transition?: string | ObsObject; transitionDelay?: string | ObsObject; transitionDuration?: string | ObsObject; transitionProperty?: string | ObsObject; transitionTimingFunction?: string | ObsObject; unicodeBidi?: string | ObsObject; verticalAlign?: string | ObsObject; visibility?: string | ObsObject; webkitAlignContent?: string | ObsObject; webkitAlignItems?: string | ObsObject; webkitAlignSelf?: string | ObsObject; webkitAnimation?: string | ObsObject; webkitAnimationDelay?: string | ObsObject; webkitAnimationDirection?: string | ObsObject; webkitAnimationDuration?: string | ObsObject; webkitAnimationFillMode?: string | ObsObject; webkitAnimationIterationCount?: string | ObsObject; webkitAnimationName?: string | ObsObject; webkitAnimationPlayState?: string | ObsObject; webkitAnimationTimingFunction?: string | ObsObject; webkitAppearance?: string | ObsObject; webkitBackfaceVisibility?: string | ObsObject; webkitBackground?: string | ObsObject; webkitBackgroundAttachment?: string | ObsObject; webkitBackgroundClip?: string | ObsObject; webkitBackgroundColor?: string | ObsObject; webkitBackgroundImage?: string | ObsObject; webkitBackgroundOrigin?: string | ObsObject; webkitBackgroundPosition?: string | ObsObject; webkitBackgroundPositionX?: string | ObsObject; webkitBackgroundPositionY?: string | ObsObject; webkitBackgroundRepeat?: string | ObsObject; webkitBackgroundSize?: string | ObsObject; webkitBorderBottomLeftRadius?: string | ObsObject; webkitBorderBottomRightRadius?: string | ObsObject; webkitBorderImage?: string | ObsObject; webkitBorderImageOutset?: string | ObsObject; webkitBorderImageRepeat?: string | ObsObject; webkitBorderImageSlice?: string | ObsObject; webkitBorderImageSource?: string | ObsObject; webkitBorderImageWidth?: string | ObsObject; webkitBorderRadius?: string | ObsObject; webkitBorderTopLeftRadius?: string | ObsObject; webkitBorderTopRightRadius?: string | ObsObject; webkitBoxAlign?: string | ObsObject; webkitBoxDirection?: string | ObsObject; webkitBoxFlex?: string | ObsObject; webkitBoxOrdinalGroup?: string | ObsObject; webkitBoxOrient?: string | ObsObject; webkitBoxPack?: string | ObsObject; webkitBoxSizing?: string | ObsObject; webkitColumnBreakAfter?: string | ObsObject; webkitColumnBreakBefore?: string | ObsObject; webkitColumnBreakInside?: string | ObsObject; webkitColumnCount?: any; webkitColumnGap?: any; webkitColumnRule?: string | ObsObject; webkitColumnRuleColor?: any; webkitColumnRuleStyle?: string | ObsObject; webkitColumnRuleWidth?: any; webkitColumnSpan?: string | ObsObject; webkitColumnWidth?: any; webkitColumns?: string | ObsObject; webkitFilter?: string | ObsObject; webkitFlex?: string | ObsObject; webkitFlexBasis?: string | ObsObject; webkitFlexDirection?: string | ObsObject; webkitFlexFlow?: string | ObsObject; webkitFlexGrow?: string | ObsObject; webkitFlexShrink?: string | ObsObject; webkitFlexWrap?: string | ObsObject; webkitJustifyContent?: string | ObsObject; webkitOrder?: string | ObsObject; webkitPerspective?: string | ObsObject; webkitPerspectiveOrigin?: string | ObsObject; webkitTapHighlightColor?: string | ObsObject; webkitTextFillColor?: string | ObsObject; webkitTextSizeAdjust?: any; webkitTransform?: string | ObsObject; webkitTransformOrigin?: string | ObsObject; webkitTransformStyle?: string | ObsObject; webkitTransition?: string | ObsObject; webkitTransitionDelay?: string | ObsObject; webkitTransitionDuration?: string | ObsObject; webkitTransitionProperty?: string | ObsObject; webkitTransitionTimingFunction?: string | ObsObject; webkitUserSelect?: string | ObsObject; webkitWritingMode?: string | ObsObject; whiteSpace?: string | ObsObject; widows?: string | ObsObject; width?: string | ObsObject; wordBreak?: string | ObsObject; wordSpacing?: string | ObsObject; wordWrap?: string | ObsObject; writingMode?: string | ObsObject; zIndex?: string | ObsObject; zoom?: string | ObsObject; } } declare module "glue/routerview" { import { Glue } from "glue/glue"; import { RouterView } from "compiler/routerview"; export class RouterViewGlue extends Glue { private router; constructor(id: string, router: RouterView); install(): void; destroy(): void; updateRouter(router: RouterView, path: string): void; destroyChild(el: Element, id: string): void; shouldUpdate(router: RouterView, path: string): boolean; } } declare module "compiler/routerview" { import { IComponentClass } from "compiler/component"; import { Elem } from "compiler/elem"; import { Glue } from "glue/glue"; export interface IRoute { path: string; component: IComponentClass | RouterView; defaults?: boolean; params?: string[]; rx?: RegExp; } export interface IRouterState { path: string; route: IRoute; params: { [name: string]: string; }; query: string; } export class RouterView { static PATH: string; static ROUTER: RouterView; id: string; glues: Glue[]; routes: IRoute[]; defaultRoute: IRoute; childRoutes: RouterView[]; state: IRouterState; constructor(routes: IRoute[]); Elem(): Elem; generateState(path: string, matches: string[], route: IRoute): IRouterState; } } declare module "glue/attr" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class AttrGlue extends Glue { private attrName; private attrValue; constructor(id: string, attrName: string, attrValue: ObsObject); install(): void; destroy(): void; attrSetter(val: any): void; } } declare module "glue/bind" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class BindGlue extends Glue { private value; constructor(id: string, value: ObsObject); install(): void; destroy(): void; bindSetter(val: any): void; } } declare module "glue/class" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class ClassGlue extends Glue { private className; private cond; constructor(id: string, className: string, cond: ObsObject); install(): void; destroy(): void; classNameSetter(val: any): void; } } declare module "glue/event" { import { Glue } from "glue/glue"; import { IUnwatcher } from "observer/emitter"; export function watchEvent(id: string, name: string, eventFn: any): IUnwatcher; export function unwatchEvent(id: string, name: string, eventFn: any): void; export class EventGlue extends Glue { private name; private eventFn; static context: any; constructor(id: string, name: string, eventFn: () => void); install(): void; destroy(): void; } } declare module "glue/if" { import { Glue } from "glue/glue"; import { Elem } from "compiler/elem"; import { ObsObject } from "observer/observable"; export class IfGlue extends Glue { private cond; private elem; helperEl: HTMLElement; activeGlues: Glue[]; constructor(id: string, cond: ObsObject | boolean, elem: () => Elem); install(): void; destroy(): void; ifWatcher(cond: any): void; isExist(): boolean; } } declare module "glue/link" { import { Glue } from "glue/glue"; export class LinkGlue extends Glue { private path; constructor(id: string, path: string); install(): void; destroy(): void; } } declare module "glue/style" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class StyleGlue extends Glue { private name; private value; constructor(id: string, name: string, value: ObsObject); install(): void; destroy(): void; styleWatcher(val: any): void; } } declare module "glue/model/text" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class TextGlue extends Glue { private model; el: HTMLInputElement | HTMLTextAreaElement; constructor(id: string, model: ObsObject); install(): void; destroy(): void; toView(val: any): void; toModel(): void; } } declare module "glue/model/input-number" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class InputNumberGlue extends Glue { private model; el: HTMLInputElement; constructor(id: string, model: ObsObject); toView(val: any): void; toModel(): void; install(): void; destroy(): void; } } declare module "glue/model/input-checkbox" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class InputCheckboxGlue extends Glue { private model; el: HTMLInputElement; value: string; constructor(id: string, model: ObsObject); install(): void; destroy(): void; toView(val: any): void; toModel(): void; } } declare module "glue/model/input-radio" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class InputRadioGlue extends Glue { private model; el: HTMLInputElement; radioName: string; value: string; constructor(id: string, model: ObsObject); install(): void; destroy(): void; toView(val: any): void; toModel(): void; } } declare module "glue/model/select" { import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class SelectGlue extends Glue { private model; el: HTMLSelectElement; constructor(id: string, model: ObsObject); install(): void; destroy(): void; toView(val: any): void; toModel(): void; } } declare module "compiler/elem" { import { Component } from "compiler/component"; import { IAllAttribute } from "compiler/interfaces"; import { RouterView } from "compiler/routerview"; import { Glue } from "glue/glue"; import { ObsObject } from "observer/observable"; export class Elem { id: string; template: string; glues: Glue[]; events: string[]; afterInstallFns: Function[]; routers: RouterView[]; constructor(id: string, template: string, glues: Glue[], events: string[], afterInstallFns: Function[], routers: RouterView[]); } export type TChild = (string | ObsObject | Elem | Component); export function h(tag: string, attrs?: IAllAttribute, children?: TChild[]): Elem; } declare module "compiler/component" { import { Elem } from "compiler/elem"; import { Observable } from "observer/observable"; export interface IComponentClass { new (attrs?: any, children?: any): Component; } export function isComponentClass(t: any): t is IComponentClass; export abstract class Component { private attrs; private children; static _isComponentClass: boolean; static awaitState: PromiseLike[]; protected rawState: {}; _isComponent: boolean; state: Observable; params: {}; query: {}; constructor(attrs?: any, children?: any[]); create(): Elem; abstract render(state: Observable): Elem; } } declare module "instance/browser" { import { Component } from "compiler/component"; export function Bootstrap(Component: Component): void; } declare module "browser" { export * from "instance/browser"; } declare module "observer/dependency" { import { ObsObject } from "observer/observable"; import { ObsArray } from "observer/observable-array"; export type TObs = ObsObject | ObsArray; export function subscribeTo(dep: (TObs[] | TObs), fn: any): { unwatch(): void; }; } declare module "observer/compute" { import { TObs } from "observer/dependency"; import { ObsObject } from "observer/observable"; export function compute(deps: (TObs[] | TObs), computeFn: any): ObsObject; } declare module "observer/observable-array" { import { Observable, ObsObject } from "observer/observable"; export class ObsArray { private baseData; private basePath; private rawItems; private obsItems; private EE; constructor(baseData?: { _dummy: any[]; }, basePath?: string); length(): number; get(index: number): Observable; getAll(): Observable[]; val(): Observable[]; set(index: number, value: any): void; pop(): any; push(val: any): number; shift(): any; unshift(val: any): number; splice(start: number, delCount: number, ...vals: any[]): any[]; filter(deps: (ObsObject | ObsArray)[], filterFn: (item, index: number, ...val) => boolean): ObsObject; watch(p1: (() => any) | string, p2?: (...dat) => any): { unwatch: () => void; }; unwatch(p1: (() => any) | string, p2?: (...dat) => any): void; } } declare module "glue/list" { import { Glue } from "glue/glue"; import { Elem } from "compiler/elem"; import { ObsObject } from "observer/observable"; import { ObsArray } from "observer/observable-array"; export class ListGlue extends Glue { private helperId; private items; private listFn; private opts; helperEl: HTMLElement; skip: number; limit: number; currentItems: any[]; constructor(helperId: string, items: ObsArray, listFn: (item, index: () => number) => Elem, opts: { skip?: ObsObject | number; limit?: ObsObject | number; }); install(): void; destroy(): void; skipWatcher(val: any): void; limitWatcher(val: any): void; listGenerator(): void; } } declare module "compiler/elem-list" { import { Elem } from "compiler/elem"; import { ObsObject } from "observer/observable"; import { ObsArray } from "observer/observable-array"; export interface IListFn { (item: any, index: () => number): Elem; } export function eList(items: ObsArray, listFn: IListFn, opts?: { limit?: number | ObsObject; skip?: number | ObsObject; key?: string; }): Elem; } declare module "compiler/vdom/general" { import { Component } from "compiler/component"; import { Elem } from "compiler/elem"; import { IAllAttribute } from "compiler/interfaces"; import { ObsObject } from "observer/observable"; export const vdom: { a: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; abbr: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; address: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; area: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; b: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; base: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; bdo: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; blockquote: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; body: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; br: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; button: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; caption: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; cite: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; code: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; col: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; colgroup: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; dd: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; del: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; dfn: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; div: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; dl: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; dt: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; em: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; fieldset: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; form: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h1: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h2: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h3: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h4: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h5: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; h6: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; head: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; hr: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; html: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; i: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; iframe: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; img: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; input: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; ins: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; kbd: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; label: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; legend: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; li: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; link: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; map: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; meta: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; noscript: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; object: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; ol: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; optgroup: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; option: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; p: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; param: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; pre: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; q: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; s: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; samp: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; script: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; select: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; small: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; span: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; strong: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; style: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; sub: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; sup: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; table: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; tbody: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; td: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; textarea: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; tfoot: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; th: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; thead: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; title: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; tr: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; u: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; ul: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; variable: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; article: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; aside: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; audio: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; bdi: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; canvas: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; data: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; datalist: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; details: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; dialog: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; element: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; embed: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; figcaption: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; figure: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; footer: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; header: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; main: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; mark: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; menu: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; menuitem: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; meter: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; nav: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; output: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; picture: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; progress: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; rp: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; rt: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; rtc: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; ruby: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; section: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; source: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; summary: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; template: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; time: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; track: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; video: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; wbr: (attrs?: IAllAttribute, children?: (string | ObsObject | Elem | Component)[] | string | ObsObject | Elem | Component) => Elem; }; } declare module "common" { export { Component } from "compiler/component"; export { h } from "compiler/elem"; export { eList } from "compiler/elem-list"; export { RouterView } from "compiler/routerview"; export { vdom } from "compiler/vdom/general"; export { installGlues, destroyGlues, addEvents, removeCurrentEvents } from "glue/glue"; export { watchEvent, unwatchEvent } from "glue/event"; export { GlobalEvent } from "instance/global-event"; export * from "instance/status"; export { compute } from "observer/compute"; export { subscribeTo } from "observer/dependency"; export { Emitter } from "observer/emitter"; export { Observable, ObsObject } from "observer/observable"; export { ObsArray } from "observer/observable-array"; export * from "tools/object"; }