// @ts-nocheck
/*
 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * @file
 * @kit ArkUI
 */
/**
 * This module provides functionality for component coordinates and sizes.
 * @namespace componentUtils
 * @syscap SystemCapability.ArkUI.ArkUI.Full
 * @since 10
 */
/**
 * This module provides functionality for component coordinates and sizes.
 * @namespace componentUtils
 * @syscap SystemCapability.ArkUI.ArkUI.Full
 * @atomicservice
 * @since 11
 */
/**
 * This module provides functionality for component coordinates and sizes.
 * @namespace componentUtils
 * @syscap SystemCapability.ArkUI.ArkUI.Full
 * @crossplatform
 * @atomicservice
 * @since 12
 */
declare namespace componentUtils {
    /**
    * Component information.
    * @typedef ComponentInfo
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Component information.
    * @typedef ComponentInfo
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Component information.
    * @typedef ComponentInfo
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface ComponentInfo {
        /**
        * component size.
        * @type {Size}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * component size.
        * @type {Size}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * component size.
        * @type {Size}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        size: Size;
        /**
        * Obtain attribute information relative to the local.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information relative to the local.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information relative to the local.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        localOffset: Offset;
        /**
        * Obtain attribute information relative to the window.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information relative to the window.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information relative to the window.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        windowOffset: Offset;
        /**
        * Obtain attribute information relative to the screen.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information relative to the screen.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information relative to the screen.
        * @type {Offset}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        screenOffset: Offset;
        /**
        * Obtain attribute information for translation.
        * @type {TranslateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information for translation.
        * @type {TranslateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information for translation.
        * @type {TranslateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        translate: TranslateResult;
        /**
        * Obtain attribute information for scale.
        * @type {ScaleResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information for scale.
        * @type {ScaleResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information for scale.
        * @type {ScaleResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        scale: ScaleResult;
        /**
        * Obtain attribute information for rotate.
        * @type {RotateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information for rotate.
        * @type {RotateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information for rotate.
        * @type {RotateResult}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        rotate: RotateResult;
        /**
        * Obtain attribute information of the transformation matrix.
        * @type {Matrix4Result}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Obtain attribute information of the transformation matrix.
        * @type {Matrix4Result}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Obtain attribute information of the transformation matrix.
        * @type {Matrix4Result}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        transform: Matrix4Result;
    }
    /**
    * Defines the size property.
    * @typedef Size
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Defines the size property.
    * @typedef Size
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Defines the size property.
    * @typedef Size
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface Size {
        /**
        * Defines the width property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Defines the width property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Defines the width property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        width: number;
        /**
        * Defines the height property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Defines the height property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Defines the height property.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        height: number;
    }
    /**
    * Defines the offset property.
    * @typedef Offset
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Defines the offset property.
    * @typedef Offset
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Defines the offset property.
    * @typedef Offset
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface Offset {
        /**
        * Coordinate x of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Coordinate x of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Coordinate x of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        x: number;
        /**
        * Coordinate y of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Coordinate y of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Coordinate y of the Position.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        y: number;
    }
    /**
    * Translation Result
    * @typedef TranslateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Translation Result
    * @typedef TranslateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Translation Result
    * @typedef TranslateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface TranslateResult {
        /**
        * Indicates the translation distance of the x-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Indicates the translation distance of the x-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Indicates the translation distance of the x-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        x: number;
        /**
        * Indicates the translation distance of the y-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Indicates the translation distance of the y-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Indicates the translation distance of the y-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        y: number;
        /**
        * Indicates the translation distance of the z-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Indicates the translation distance of the z-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Indicates the translation distance of the z-axis, in vp.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        z: number;
    }
    /**
    * Scale Result
    * @typedef ScaleResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Scale Result
    * @typedef ScaleResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Scale Result
    * @typedef ScaleResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface ScaleResult {
        /**
        * Zoom factor of the x-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Zoom factor of the x-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Zoom factor of the x-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        x: number;
        /**
        * Zoom factor of the y-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Zoom factor of the y-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Zoom factor of the y-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        y: number;
        /**
        * Zoom factor of the z-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Zoom factor of the z-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Zoom factor of the z-axis.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        z: number;
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        centerX: number;
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        centerY: number;
    }
    /**
    * Rotation Result.
    * @typedef RotateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * Rotation Result.
    * @typedef RotateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * Rotation Result.
    * @typedef RotateResult
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    interface RotateResult {
        /**
        * Axis of rotation vector x coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Axis of rotation vector x coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Axis of rotation vector x coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        x: number;
        /**
        * Axis of rotation vector y coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Axis of rotation vector y coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Axis of rotation vector y coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        y: number;
        /**
        * Axis of rotation vector z coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Axis of rotation vector z coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Axis of rotation vector z coordinate.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        z: number;
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Transform the x-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        centerX: number;
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Transform the y-axis coordinate of the center point.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        centerY: number;
        /**
        * Rotation angle.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @since 10
        */
        /**
        * Rotation angle.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @atomicservice
        * @since 11
        */
        /**
        * Rotation angle.
        * @type {number}
        * @syscap SystemCapability.ArkUI.ArkUI.Full
        * @crossplatform
        * @atomicservice
        * @since 12
        */
        angle: number;
    }
    /**
    * The matrix is column-first fourth-order matrix.
    * @typedef { [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] } Matrix4Result
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @since 10
    */
    /**
    * The matrix is column-first fourth-order matrix.
    * @typedef { [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] } Matrix4Result
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @atomicservice
    * @since 11
    */
    /**
    * The matrix is column-first fourth-order matrix.
    * @typedef { [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] } Matrix4Result
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 12
    */
    type Matrix4Result = [
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number,
        number
    ];
    /**
    * Provide the ability to obtain the coordinates and size of component drawing areas.
    * @param {string} id - component id.
    * @returns {ComponentInfo} the object of ComponentInfo.
    * @throws { BusinessError } 100001 - UI execution context not found.
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @since 10
    */
    /**
    * Provide the ability to obtain the coordinates and size of component drawing areas.
    * @param {string} id - component id.
    * @returns {ComponentInfo} the object of ComponentInfo.
    * @throws { BusinessError } 100001 - UI execution context not found.
    * @syscap SystemCapability.ArkUI.ArkUI.Full
    * @crossplatform
    * @atomicservice
    * @since 11
    */
    function getRectangleById(id: string): ComponentInfo;
}
export default componentUtils;
