import { Handle } from '@dojo/core/interfaces'; import { CoreProperties, DNode, WidgetMetaBase, WidgetMetaConstructor, WidgetBaseInterface, WidgetProperties } from './interfaces'; import RegistryHandler from './RegistryHandler'; export declare type BoundFunctionData = { boundFunc: (...args: any[]) => any; scope: any; }; export declare const noBind: symbol; /** * Main widget base for all widgets to extend */ export declare class WidgetBase

implements WidgetBaseInterface { /** * static identifier */ static _type: symbol; /** * children array */ private _children; /** * Indicates if it is the initial set properties cycle */ private _initialProperties; /** * internal widget properties */ private _properties; /** * Array of property keys considered changed from the previous set properties */ private _changedPropertyKeys; /** * map of decorators that are applied to this widget */ private _decoratorCache; private _registry; /** * Map of functions properties for the bound function */ private _bindFunctionPropertyMap; private _metaMap; private _boundRenderFunc; private _boundInvalidate; private _nodeHandler; private _handles; /** * @constructor */ constructor(); protected meta(MetaType: WidgetMetaConstructor): T; protected onAttach(): void; protected onDetach(): void; readonly properties: Readonly

& Readonly; readonly changedPropertyKeys: string[]; __setCoreProperties__(coreProperties: CoreProperties): void; __setProperties__(originalProperties: this['properties']): void; readonly children: (C | null)[]; __setChildren__(children: (C | null)[]): void; __render__(): DNode | DNode[]; invalidate(): void; protected render(): DNode | DNode[]; /** * Function to add decorators to WidgetBase * * @param decoratorKey The key of the decorator * @param value The value of the decorator */ protected addDecorator(decoratorKey: string, value: any): void; /** * Function to build the list of decorators from the global decorator map. * * @param decoratorKey The key of the decorator * @return An array of decorator values * @private */ private _buildDecoratorList(decoratorKey); /** * Function to retrieve decorator values * * @param decoratorKey The key of the decorator * @returns An array of decorator values */ protected getDecorator(decoratorKey: string): any[]; /** * Binds unbound property functions to the specified `bind` property * * @param properties properties to check for functions */ private _bindFunctionProperty(property, bind); readonly registry: RegistryHandler; private _runBeforeProperties(properties); /** * Run all registered before renders and return the updated render method */ private _runBeforeRenders(); /** * Run all registered after renders and return the decorated DNodes * * @param dNode The DNodes to run through the after renders */ protected runAfterRenders(dNode: DNode | DNode[]): DNode | DNode[]; private _runAfterConstructors(); protected own(handle: Handle): void; protected destroy(): void; } export default WidgetBase;