1/* 2 * Copyright (C) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16@Retention({policy: "SOURCE"}) 17export declare @interface State {}; 18 19@Retention({policy: "SOURCE"}) 20export declare @interface Prop {}; 21 22@Retention({policy: "SOURCE"}) 23export declare @interface Link {}; 24 25@Retention({policy: "SOURCE"}) 26export declare @interface Observed {}; 27 28@Retention({policy: "SOURCE"}) 29export declare @interface Track {}; 30 31@Retention({policy: "SOURCE"}) 32export declare @interface ObjectLink {}; 33 34@Retention({policy: "SOURCE"}) 35export declare @interface StorageProp { value: string }; 36 37@Retention({policy: "SOURCE"}) 38export declare @interface StorageLink { value: string }; 39 40@Retention({policy: "SOURCE"}) 41export declare @interface LocalStorageProp { value: string }; 42 43@Retention({policy: "SOURCE"}) 44export declare @interface LocalStorageLink { value: string }; 45 46@Retention({policy: "SOURCE"}) 47export declare @interface Provide { value: string }; 48 49@Retention({policy: "SOURCE"}) 50export declare @interface Consume { value: string }; 51 52@Retention({policy: "SOURCE"}) 53export declare @interface Watch { value: string }; 54 55@Retention({policy: "SOURCE"}) 56export declare @interface Require {}; 57 58export declare class UIUtils { 59 static getTarget<T extends object>(source: T): T; 60 static makeObserved<T extends object>(source: T): T; 61}