import type { EventCallback, EventsHandler } from '../Events'; export interface IViewParams { model?: any; template?: string; parent?: View | null; classList?: string[]; initRender?: boolean; } export type ViewEventsList = ["render"]; declare class View { static __counter__: number; protected __id: number; events: EventsHandler; model: M; template: string; parent: View | null; el: HTMLElement | null; protected _classList: string[]; constructor(options?: IViewParams); on(name: string, callback: EventCallback, sender?: any, priority?: number): void; off(name: string, callback: EventCallback): void; static getHTML(template: string, params: any): string; static parseHTML(htmlStr: string): HTMLElement[]; static insertAfter(newNodes: HTMLElement | HTMLElement[], referenceNode: Node): HTMLElement[]; static insertBefore(newNodes: HTMLElement | HTMLElement[], referenceNode: Node): HTMLElement[]; insertBefore(view: View | HTMLElement): void; insertAfter(view: View | HTMLElement): void; isEqual(view: View): boolean; appendTo(node: HTMLElement, clean?: boolean, firstPosition?: boolean): this; afterRender(parentNode: HTMLElement): void; beforeRender(parentNode: HTMLElement): void; stopPropagation(): void; renderTemplate(params: any): HTMLElement; render(params?: any): this; select(queryStr: string): T | null; selectRemove(queryStr: string): HTMLElement | undefined; selectAll(queryStr: string, callback?: Function): NodeListOf | undefined; remove(): void; } export { View };