export interface IBaseView { config : IBaseConfig ; name : string ; getParentView ( ) : IBaseView ; destructor ( ) : void ; } export interface IWebixHTMLHelper { addCss ( node , css ) : void ; removeCss ( node , css ) : void ; } export interface IBaseConfig { id ? : string ; container ? : string | HTMLElement ; } export interface IWebixFacade { storage : any ; i18n : any ; html : IWebixHTMLHelper ; EventSystem : any ; DataCollection : any ; $$ ( id ) : IBaseView ; isArray ( input ) : boolean ; event ( node , name , handler ) ; uid ( ) : number ; ui ( config , cont ? ) : IBaseView ; bind ( handler , master ) ; message ( text ) ; dp ( id ) : any ; toNode ( id ) : HTMLElement ; extend ( a , b , force ? ) : any ; attachEvent ( name , handler ) : string ; } export interface IUIConfig { container ? : string | HTMLElement ; } export interface IJetApp extends IJetView { webix : IWebixFacade ; config : IJetConfig ; app : IJetApp ; getUrl ( ) : IJetURL ; getService ( name ) : any ; setService ( name , obj ) : void ; callEvent ( name , parameters ) : boolean ; attachEvent ( name , handler ) : void ; createFromURL ( chunk ) : Promise < IJetView > ; show ( path ) : Promise < void > ; createView ( obj , name ? ) : IJetView ; refresh ( ) : Promise < IBaseView > ; error ( name , data ) ; copyConfig ( source , target , config ? ) ; getRouter ( ) : IJetRouter ; destructor ( ) : void ; } export interface IJetURLChunk { page : string ; params : { [ name ] : string ; } ; view ? : IJetView ; isNew ? : boolean ; } export type IJetURL = IJetURLChunk [ ] ; export interface IJetView { app : IJetApp ; $$ ( name ) : IBaseView ; contains ( view ) : boolean ; getSubView ( name ? ) : IJetView ; getSubViewInfo ( name ? ) : ISubViewInfo ; getRoot ( ) : IBaseView ; setParam ( id , value , url ? ) ; getParam ( id , parent ) : any ; getUrl ( ) : IJetURL ; getUrlString ( ) : string ; getParentView ( ) : IJetView ; refresh ( ) : Promise < IBaseView > ; render ( area , url ? , parent ? ) : Promise < IBaseView > ; destructor ( ) ; on ( obj , name , code ) ; show ( path , config ? ) : Promise < void > ; } export interface IHash { [ name ] : any ; } export interface IJetConfig { debug ? : boolean ; app ? : IJetApp ; name ? : string ; version ? : string ; start ? : string ; webix ? : IWebixFacade ; container : HTMLElement | string ; animation : boolean ; router : IJetRouterFactory ; views : Function | IHash ; } export interface IJetRouterOptions { [ name ] : any ; } export interface IJetRouterFactory { new ( cb , config , app ) ; } export interface IJetViewFactory { new ( app , name ) ; } export interface IJetRouter { get ( ) : string ; set ( name , options ? ) : void ; } export type IJetRouterCallback = ( url ? : string ) => any ; export interface IViewConfig { [ name ] : ISubView ; } export interface ISubView { view ? : IJetView ; url : string | IJetViewFactory ; name ? : string ; popup ? : boolean ; id : string ; branch ? : boolean ; route ? : IRoute ; lock ? : Promise < any > ; } export interface ISubViewInfo { subview : ISubView ; parent : IJetView ; } export interface IPath { path : string ; url : IJetURL ; linkRouter ? : boolean ; } export interface IRoute { route : IPath ; current ( ) : IJetURLChunk ; next ( ) : IJetURLChunk ; suburl ( ) : IJetURL ; shift ( ) : IRoute ; show ( url , view , kids ? ) : Promise < void > ; refresh ( ) : void ; size ( n ) ; update ( name , value , index ? ) ; split ( ) : IRoute ; append ( path ) : string ; toString ( ) : string ; } export interface IDestructable { destructor ( ) : void ; }