import { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender'; import { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData'; import { RawSet } from '../rawsets/RawSet'; import { ConstructorType } from '@dooboostore/core'; import { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild'; import { OnInitRender } from '../lifecycle/OnInitRender'; import { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender'; import { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind'; import { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind'; import type { Render } from '../rawsets/Render'; import { DomRenderConfig } from '../configs/DomRenderConfig'; import { OnRawSetRendered, OnRawSetRenderedOtherData } from "../lifecycle/OnRawSetRendered"; import { OnChildRawSetRendered } from "../lifecycle/OnChildRawSetRendered"; export declare const ATTRIBUTE_METADATA_KEY: unique symbol; export declare const QUERY_METADATA_KEY: unique symbol; export declare const EVENT_METADATA_KEY: unique symbol; export interface AttributeMetadata { propertyKey: string | symbol; name: string; converter?: (value: any | string | null) => any; isMethod: boolean; } export interface QueryMetadata { selector: string; propertyKey: string | symbol; isMethod: boolean; convert?: (e: Element) => any; onDestroy?: (componentInstance: any, element: Element) => void; refreshTime?: number; refreshRawSetRendered?: boolean; } export interface EventMetadata { query: string; eventName: string; methodName: string | symbol; onDestroy?: (componentInstance: any, element: Element) => void; refreshTime?: number; refreshRawSetRendered?: boolean; } export declare function attribute(nameOrOptions?: string | { name?: string; converter?: (value: any | string | null) => any; }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void; export declare function query(selectorOrOptions: string | { selector: string; convert?: (e: Element) => any; onDestroy?: (componentInstance: any, element: Element) => void; refreshIntervalTime?: number; refreshRawSetRendered?: boolean; }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void; export declare function event(options: { query: string; name: string; onDestroy?: (componentInstance: any, element: Element) => void; refreshTime?: number; refreshRawSetRendered?: boolean; }): MethodDecorator; export type ComponentBaseConfig = { onlyParentType?: ConstructorType[] | ConstructorType; createChildrenDebounce?: number; onRawSetRenderedOtherDataDebounce?: number; onChildRawSetRenderedOtherDataDebounce?: number; }; export type ChildrenSet = { instance: any; data: OnCreateRenderDataParams; }; export declare class ComponentBase implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender, OnRawSetRendered, OnChildRawSetRendered { private _config?; private _rawSet?; private _children; private _render; private _attribute?; private _boundEventListeners; private _queryBindings; private _eventBindings; private _refreshTimers; private childrenSetSubject; private createChildrenDebounceSubscription?; private onRawSetRenderedOtherDataSubject; private onChildRawSetRenderedOtherDataSubject; private onRawSetRenderedOtherDataSubjectSubscription?; private onChildRawSetRenderedOtherDataSubjectSubscription?; constructor(_config?: C); get componentConfig(): C | undefined; get render(): Render | undefined; get rawSet(): RawSet | undefined; get domRenderConfig(): DomRenderConfig | undefined; private _queryElements; private _cleanupEventListeners; private _cleanupQueryBindings; private _cleanupEventBindings; private _applyQueryBinding; private _setupQueryDecorators; private _updateQueryBinding; private _updateQueryDecorators; private _arraysEqual; private _setupRefreshTimer; private _clearRefreshTimer; private _clearAllRefreshTimers; onRawSetRendered(rawSet: RawSet, otherData: OnRawSetRenderedOtherData): Promise; onChildRawSetRendered(): Promise; /** * Manually refresh all query and event decorators * Useful when DOM elements are dynamically added/removed and you want to update bindings */ refreshDecorators(): void; /** * Manually refresh specific query decorators by property key * @param propertyKeys - Array of property keys to refresh, or single property key */ refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void; /** * Manually refresh specific event decorators by method name * @param methodNames - Array of method names to refresh, or single method name */ refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void; private _applyEventBinding; private _setupEventDecorators; private _updateEventBinding; private _updateEventDecorators; getAttributeNames(attribute?: T): string[]; getAttribute(name: K, attribute?: T): T[K] | null; hasAttribute(name: keyof T): boolean; equalsAttributeName(n: string, name: keyof T): boolean; get uuid(): string | undefined; get childrenSet(): ChildrenSet[]; get children(): any[]; getElement(): T | undefined; getFirstChild(type: ConstructorType): T | undefined; getParentThis

(): P; getChildren>(type: C): InstanceType[]; getChildren[]>(types: C): InstanceType[]; private setRawSet; setAttribute(attribute: T): void; onCreatedThisChild(child: any, data: OnCreateRenderDataParams): void; onCreatedThisChildDebounce(childrenSet: ChildrenSet[]): void; onRawSetRenderedDebounce(childrenSet: OnRawSetRenderedOtherData[]): void; onChildRawSetRenderedDebounce(): void; onCreateRenderData(data: OnCreateRenderDataParams): void; onChangeAttrRender(name: string, value: any, other: OtherData): void; onInitRender(param: any, rawSet: RawSet): Promise; onDrThisBind(): void; onDrThisUnBind(): void; onDestroyRender(data?: OnDestroyRenderParams): void; onDestroy(): void; } //# sourceMappingURL=ComponentBase.d.ts.map