import "miniprogram-api-typings"; export const behavior: WechatMiniprogram.Behavior.Constructor; export interface ComponentId< TData extends WechatMiniprogram.Component.DataOption, TProperty extends WechatMiniprogram.Component.PropertyOption, TMethod extends WechatMiniprogram.Component.MethodOption > extends String {} export function register< TData extends WechatMiniprogram.Component.DataOption, TProperty extends WechatMiniprogram.Component.PropertyOption, TMethod extends WechatMiniprogram.Component.MethodOption >( options: WechatMiniprogram.Component.Options & { id?: string; tagName?: string; template?: string; usingComponents?: Object; } ): ComponentId; export function create< TData extends WechatMiniprogram.Component.DataOption, TProperty extends WechatMiniprogram.Component.PropertyOption, TMethod extends WechatMiniprogram.Component.MethodOption >( componentId: ComponentId, properties?: Partial< WechatMiniprogram.Component.PropertyOptionToData > ): RootComponent; export function create( componentId: string, properties?: any ): Component; export interface ComponentJSON { tagName: string; attrs: { name: string; value: any }[]; event: { [event: string]: { handler: string; isMutated: boolean; isCapture: boolean; isCatch: boolean; name: string; }; }; children: ComponentJSON[]; } export class Component< TData extends WechatMiniprogram.Component.DataOption, TProperty extends WechatMiniprogram.Component.PropertyOption, TMethod extends Partial > { readonly dom: HTMLElement | undefined; readonly data: Readonly; readonly instance: WechatMiniprogram.Component.Instance< TData, TProperty, TMethod >; dispatchEvent(eventName: string, options?: any): void; querySelector(selector: string): Component | undefined; querySelectorAll(selector: string): Component[]; setData( data: Partial & { [x: string]: any }, callback?: () => void ): void; triggerLifeTime( lifetime: | "created" | "ready" | "attached" | "moved" | "detached" | "saved" | "restored" | "error" | "listenerChanged" ): void; toJSON(): ComponentJSON; } export class RootComponent< TData extends WechatMiniprogram.Component.DataOption, TProperty extends WechatMiniprogram.Component.PropertyOption, TMethod extends Partial > extends Component { attach(parent: Node): void; detach(): void; }