import { Changes, ChangeSet } from './types'; import { Component } from './component'; export declare const animatingKey = "$$animating"; /** * Creates fast object */ export declare function obj(proto?: any): Record; /** * Check if given value id defined, e.g. not `null`, `undefined` or `NaN` */ export declare function isDefined(value: unknown): boolean; /** * Creates object for storing change sets, e.g. current and previous values */ export declare function changeSet(): ChangeSet; /** * Returns properties from `next` which were changed since `prev` state. * Returns `null` if there are no changes */ export declare function changed(next: Record, prev: Record, prefix?: string): Changes | null; /** * Adds given `scope` attribute to `el` to isolate its CSS */ export declare function cssScope(el: HTMLElement, host?: Component): HTMLElement; declare const assign: { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; }; /** * Returns property descriptors from given object */ declare const getObjectDescriptors: (o: T) => { [P in keyof T]: TypedPropertyDescriptor; } & { [x: string]: PropertyDescriptor; }; export { assign, getObjectDescriptors }; /** * Assign data from `next` to `prev` if there are any updates * @return Returns `true` if data was assigned */ export declare function assignIfNeeded(prev: Record, next: Record): boolean; export declare function safeCall(fn?: (p1?: T, p2?: U) => Y, arg1?: T, arg2?: U): Y | undefined; export declare function captureError(host: Component, fn?: (p1?: T, p2?: U) => Y, arg1?: T, arg2?: U): Y | undefined; export declare function runtimeError(host: Component, error: Error): void; /** * Schedule a microtask */ export declare const nextTick: typeof queueMicrotask;