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 16import { Dimension, Length, ResourceColor } from "@ohos.arkui.component.units"; 17import { IlluminatedType } from "@ohos.arkui.component.enums"; 18import { memo } from '@ohos.arkui.stateManagement.runtime'; 19 20@Retention({policy: "SOURCE"}) 21export @interface BuilderLambda { 22 value: string 23} 24 25@Retention({policy: "SOURCE"}) 26export declare @interface ComponentBuilder {}; 27 28@Retention({policy: "SOURCE"}) 29export declare @interface BuilderParam {}; 30 31@Retention({policy: "SOURCE"}) 32export declare @interface Builder {}; 33 34export declare interface LightSource { 35 positionX: Dimension; 36 positionY: Dimension; 37 positionZ: Dimension; 38 intensity: number; 39 color?: ResourceColor; 40} 41 42export declare interface PointLightStyle { 43 lightSource?: LightSource; 44 illuminated?: IlluminatedType; 45 bloom?: number; 46} 47 48export declare interface CommonMethod { 49 @memo 50 width(w: Length): this; 51 @memo 52 height(h: Length): this; 53 @memo 54 backgroundColor(color: ResourceColor): this; 55}