diff --git a/api/arkui/component/builder.static.d.ets b/api/arkui/component/builder.static.d.ets index 1095b64dd5278ce14be3244ce1285efaefc1a39d..105c8c9a22d2e1309a22dbbc899c1f0c71e6bbaf 100755 --- a/api/arkui/component/builder.static.d.ets +++ b/api/arkui/component/builder.static.d.ets @@ -20,6 +20,7 @@ */ import { memo, ComponentBuilder, __memo_context_type, __memo_id_type } from "../stateManagement/runtime"; +import { Callback } from '@ohos.base' /** * Defines Builder Annotation. @@ -111,3 +112,25 @@ export declare class WrappedBuilder { */ public constructor(builder: T); } + +/** + * Type for property getter in Builder parameter proxy. + * + * @typedef { function } BuilderParameterCallback + * @returns { Any } parameter value + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @since 20 + */ +export type BuilderParameterCallback = () => Any; + +/** + * Make proxy for Builder parameter. + * + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @param { T } instance initial literal instance + * @param { Map } propertyGetters override property getters + * @param { Callback } initializer update proxied instance with literal's initial values + * @returns { T } proxied literal instance + * @since 20 + */ +export declare function makeBuilderParameterProxy(instance: T, propertyGetters: Map, initializer?: Callback): T; \ No newline at end of file diff --git a/api/arkui/stateManagement/runtime.static.d.ets b/api/arkui/stateManagement/runtime.static.d.ets index e19ab206a9b8a187a9658ed5fd0a8cd5c8ee2e2e..03990d892b4b0407479a3e472435a0101cff34de 100644 --- a/api/arkui/stateManagement/runtime.static.d.ets +++ b/api/arkui/stateManagement/runtime.static.d.ets @@ -80,3 +80,12 @@ export declare class SyncedProperty implements MutableState { set value(value: T); update(value?: T): void; } + +/** + * Defining MemoSkip annotation. + * MemoSkip parameter will not be a state varaiable in Builder functions. + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @since 20 + */ +@Retention({policy: "SOURCE"}) +export declare @interface MemoSkip {}; \ No newline at end of file diff --git a/api/arkui/stateManagement/utils.static.d.ets b/api/arkui/stateManagement/utils.static.d.ets index 661b3e363f0a4f6f4a1babbfb22a78d5b3ceaa72..b380269858aac73dde8c158c4bd4c5ed9f5041ca 100644 --- a/api/arkui/stateManagement/utils.static.d.ets +++ b/api/arkui/stateManagement/utils.static.d.ets @@ -148,6 +148,7 @@ export declare class MutableBinding { get value(): T; /** * Set function that can set the new value. + * @param { T } newValue new value * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 20 */