import { Elem } from './elem'; import { Observable } from '../observer/observable'; export interface IComponentClass { new (attrs?: any, children?: any): Component; } export declare function isComponentClass(t: any): t is IComponentClass; export declare 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; }