161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * StyledString
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2561847f8eSopenharmony_ci * @crossplatform
2661847f8eSopenharmony_ci * @atomicservice
2761847f8eSopenharmony_ci * @since 12
2861847f8eSopenharmony_ci */
2961847f8eSopenharmony_cideclare class StyledString {
3061847f8eSopenharmony_ci    /**
3161847f8eSopenharmony_ci     * constructor.
3261847f8eSopenharmony_ci     *
3361847f8eSopenharmony_ci     * @param { string | ImageAttachment | CustomSpan } value - indicates the current object value of the StyledString.
3461847f8eSopenharmony_ci     * @param { Array<StyleOptions> } [styles] - indicates the SpanStyle objects.
3561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
3661847f8eSopenharmony_ci     * @crossplatform
3761847f8eSopenharmony_ci     * @atomicservice
3861847f8eSopenharmony_ci     * @since 12
3961847f8eSopenharmony_ci     */
4061847f8eSopenharmony_ci    constructor(value: string | ImageAttachment | CustomSpan, styles?: Array<StyleOptions>);
4161847f8eSopenharmony_ci
4261847f8eSopenharmony_ci    /**
4361847f8eSopenharmony_ci     * Get the length of the StyledString's characters.
4461847f8eSopenharmony_ci     *
4561847f8eSopenharmony_ci     * @type { number } - the length of the StyledString's characters.
4661847f8eSopenharmony_ci     * @readonly
4761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
4861847f8eSopenharmony_ci     * @crossplatform
4961847f8eSopenharmony_ci     * @atomicservice
5061847f8eSopenharmony_ci     * @since 12
5161847f8eSopenharmony_ci     */
5261847f8eSopenharmony_ci    readonly length: number;
5361847f8eSopenharmony_ci
5461847f8eSopenharmony_ci    /**
5561847f8eSopenharmony_ci    * Get the literal content of the StyledString.
5661847f8eSopenharmony_ci    *
5761847f8eSopenharmony_ci    * @returns { string } - the literal content of the StyledString
5861847f8eSopenharmony_ci    * @syscap SystemCapability.ArkUI.ArkUI.Full
5961847f8eSopenharmony_ci    * @crossplatform
6061847f8eSopenharmony_ci    * @atomicservice
6161847f8eSopenharmony_ci    * @since 12
6261847f8eSopenharmony_ci    */
6361847f8eSopenharmony_ci    getString(): string;
6461847f8eSopenharmony_ci
6561847f8eSopenharmony_ci    /**
6661847f8eSopenharmony_ci     * Get the attribute objects of the subStyledString.
6761847f8eSopenharmony_ci     *
6861847f8eSopenharmony_ci     * @param { number } start - the start position of the subStyledString.
6961847f8eSopenharmony_ci     * @param { number } length - the length of the subStyledString's characters.
7061847f8eSopenharmony_ci     * @param { StyledStringKey } [styledKey] - the specified type.
7161847f8eSopenharmony_ci     * @returns { Array<SpanStyle> }
7261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
7361847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
7461847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
7561847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
7661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
7761847f8eSopenharmony_ci     * @crossplatform
7861847f8eSopenharmony_ci     * @atomicservice
7961847f8eSopenharmony_ci     * @since 12
8061847f8eSopenharmony_ci     */
8161847f8eSopenharmony_ci    getStyles(start: number, length: number, styledKey?: StyledStringKey): Array<SpanStyle>;
8261847f8eSopenharmony_ci
8361847f8eSopenharmony_ci    /**
8461847f8eSopenharmony_ci     * Judge if two attribute strings are equal.
8561847f8eSopenharmony_ci     *
8661847f8eSopenharmony_ci     * @param { StyledString } other - another StyledString.
8761847f8eSopenharmony_ci     * @returns { boolean }
8861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
8961847f8eSopenharmony_ci     * @crossplatform
9061847f8eSopenharmony_ci     * @atomicservice
9161847f8eSopenharmony_ci     * @since 12
9261847f8eSopenharmony_ci     */
9361847f8eSopenharmony_ci    equals(other: StyledString): boolean;
9461847f8eSopenharmony_ci
9561847f8eSopenharmony_ci    /**
9661847f8eSopenharmony_ci     * Get the substring of the StyledString.
9761847f8eSopenharmony_ci     *
9861847f8eSopenharmony_ci     * @param { number } start - the start position of the subStyledString.
9961847f8eSopenharmony_ci     * @param { number } [length] - the length of the subStyledString's characters.
10061847f8eSopenharmony_ci     * @returns { StyledString }
10161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
10261847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
10361847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
10461847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
10561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
10661847f8eSopenharmony_ci     * @crossplatform
10761847f8eSopenharmony_ci     * @atomicservice
10861847f8eSopenharmony_ci     * @since 12
10961847f8eSopenharmony_ci     */
11061847f8eSopenharmony_ci    subStyledString(start: number, length?: number): StyledString;
11161847f8eSopenharmony_ci
11261847f8eSopenharmony_ci    /**
11361847f8eSopenharmony_ci     * Returns StyledString from the provided HTML string.
11461847f8eSopenharmony_ci     *
11561847f8eSopenharmony_ci     * @param { string } html - the html text will be converted to a StyledString.
11661847f8eSopenharmony_ci     * @returns { Promise<StyledString> }
11761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
11861847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
11961847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
12061847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
12161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
12261847f8eSopenharmony_ci     * @atomicservice
12361847f8eSopenharmony_ci     * @since 12
12461847f8eSopenharmony_ci     */
12561847f8eSopenharmony_ci    static fromHtml(html: string): Promise<StyledString>;
12661847f8eSopenharmony_ci
12761847f8eSopenharmony_ci    /**
12861847f8eSopenharmony_ci     * Returns HTML string from the provided StyledString.
12961847f8eSopenharmony_ci     *
13061847f8eSopenharmony_ci     * @param { StyledString } styledString - the StyledString will be converted to a HTML string.
13161847f8eSopenharmony_ci     * @returns { string }
13261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
13361847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
13461847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
13561847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
13661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
13761847f8eSopenharmony_ci     * @crossplatform
13861847f8eSopenharmony_ci     * @atomicservice
13961847f8eSopenharmony_ci     * @since 14
14061847f8eSopenharmony_ci     */
14161847f8eSopenharmony_ci    static toHtml(styledString: StyledString): string;
14261847f8eSopenharmony_ci
14361847f8eSopenharmony_ci    /**
14461847f8eSopenharmony_ci     * Returns ArrayBuffer from the serialized styled string.
14561847f8eSopenharmony_ci     *
14661847f8eSopenharmony_ci     * @param { StyledString } styledString - StyledString parameter.
14761847f8eSopenharmony_ci     * @returns { ArrayBuffer }
14861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
14961847f8eSopenharmony_ci     * @systemapi
15061847f8eSopenharmony_ci     * @since 13
15161847f8eSopenharmony_ci     */
15261847f8eSopenharmony_ci    static marshalling(styledString: StyledString): ArrayBuffer;
15361847f8eSopenharmony_ci
15461847f8eSopenharmony_ci    /**
15561847f8eSopenharmony_ci     * Returns StyledString from the deserialized ArrayBuffer.
15661847f8eSopenharmony_ci     *
15761847f8eSopenharmony_ci     * @param { ArrayBuffer } buffer - The buffer will be deserialized to a StyledString.
15861847f8eSopenharmony_ci     * @returns { Promise<StyledString> }
15961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
16061847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
16161847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
16261847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
16361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
16461847f8eSopenharmony_ci     * @systemapi
16561847f8eSopenharmony_ci     * @since 13
16661847f8eSopenharmony_ci     */
16761847f8eSopenharmony_ci    static unmarshalling(buffer: ArrayBuffer): Promise<StyledString>;
16861847f8eSopenharmony_ci}
16961847f8eSopenharmony_ci
17061847f8eSopenharmony_ci/**
17161847f8eSopenharmony_ci * StyleOptions
17261847f8eSopenharmony_ci *
17361847f8eSopenharmony_ci * @interface StyleOptions
17461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
17561847f8eSopenharmony_ci * @crossplatform
17661847f8eSopenharmony_ci * @atomicservice
17761847f8eSopenharmony_ci * @since 12
17861847f8eSopenharmony_ci */
17961847f8eSopenharmony_cideclare interface StyleOptions {
18061847f8eSopenharmony_ci    /**
18161847f8eSopenharmony_ci     * The start position of the StyleOptions.
18261847f8eSopenharmony_ci     *
18361847f8eSopenharmony_ci     * @type { ?number }
18461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
18561847f8eSopenharmony_ci     * @crossplatform
18661847f8eSopenharmony_ci     * @atomicservice
18761847f8eSopenharmony_ci     * @since 12
18861847f8eSopenharmony_ci     */
18961847f8eSopenharmony_ci    start?: number;
19061847f8eSopenharmony_ci
19161847f8eSopenharmony_ci    /**
19261847f8eSopenharmony_ci     * The length of the modifiedStyledString's characters.
19361847f8eSopenharmony_ci     *
19461847f8eSopenharmony_ci     * @type { ?number }
19561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
19661847f8eSopenharmony_ci     * @crossplatform
19761847f8eSopenharmony_ci     * @atomicservice
19861847f8eSopenharmony_ci     * @since 12
19961847f8eSopenharmony_ci     */
20061847f8eSopenharmony_ci    length?: number;
20161847f8eSopenharmony_ci
20261847f8eSopenharmony_ci    /**
20361847f8eSopenharmony_ci     * The attribute key of the StyleOptions.
20461847f8eSopenharmony_ci     *
20561847f8eSopenharmony_ci     * @type { StyledStringKey }
20661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
20761847f8eSopenharmony_ci     * @crossplatform
20861847f8eSopenharmony_ci     * @atomicservice
20961847f8eSopenharmony_ci     * @since 12
21061847f8eSopenharmony_ci     */
21161847f8eSopenharmony_ci    styledKey: StyledStringKey;
21261847f8eSopenharmony_ci
21361847f8eSopenharmony_ci    /**
21461847f8eSopenharmony_ci     * The attribute value of the StyleOptions.
21561847f8eSopenharmony_ci     *
21661847f8eSopenharmony_ci     * @type { StyledStringValue }
21761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
21861847f8eSopenharmony_ci     * @crossplatform
21961847f8eSopenharmony_ci     * @atomicservice
22061847f8eSopenharmony_ci     * @since 12
22161847f8eSopenharmony_ci     */
22261847f8eSopenharmony_ci    styledValue: StyledStringValue;
22361847f8eSopenharmony_ci}
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci/**
22661847f8eSopenharmony_ci * SpanStyle
22761847f8eSopenharmony_ci *
22861847f8eSopenharmony_ci * @interface SpanStyle
22961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
23061847f8eSopenharmony_ci * @crossplatform
23161847f8eSopenharmony_ci * @atomicservice
23261847f8eSopenharmony_ci * @since 12
23361847f8eSopenharmony_ci */
23461847f8eSopenharmony_cideclare interface SpanStyle {
23561847f8eSopenharmony_ci    /**
23661847f8eSopenharmony_ci     * The start position of the SpanStyle.
23761847f8eSopenharmony_ci     *
23861847f8eSopenharmony_ci     * @type { number }
23961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
24061847f8eSopenharmony_ci     * @crossplatform
24161847f8eSopenharmony_ci     * @atomicservice
24261847f8eSopenharmony_ci     * @since 12
24361847f8eSopenharmony_ci     */
24461847f8eSopenharmony_ci    start: number;
24561847f8eSopenharmony_ci
24661847f8eSopenharmony_ci    /**
24761847f8eSopenharmony_ci     * The length of the modifiedStyledString's characters.
24861847f8eSopenharmony_ci     *
24961847f8eSopenharmony_ci     * @type { number }
25061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
25161847f8eSopenharmony_ci     * @crossplatform
25261847f8eSopenharmony_ci     * @atomicservice
25361847f8eSopenharmony_ci     * @since 12
25461847f8eSopenharmony_ci     */
25561847f8eSopenharmony_ci    length: number;
25661847f8eSopenharmony_ci
25761847f8eSopenharmony_ci    /**
25861847f8eSopenharmony_ci     * The attribute key of the SpanStyle.
25961847f8eSopenharmony_ci     *
26061847f8eSopenharmony_ci     * @type { StyledStringKey }
26161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
26261847f8eSopenharmony_ci     * @crossplatform
26361847f8eSopenharmony_ci     * @atomicservice
26461847f8eSopenharmony_ci     * @since 12
26561847f8eSopenharmony_ci     */
26661847f8eSopenharmony_ci    styledKey: StyledStringKey;
26761847f8eSopenharmony_ci
26861847f8eSopenharmony_ci    /**
26961847f8eSopenharmony_ci     * The attribute value of the SpanStyle.
27061847f8eSopenharmony_ci     *
27161847f8eSopenharmony_ci     * @type { StyledStringValue }
27261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
27361847f8eSopenharmony_ci     * @crossplatform
27461847f8eSopenharmony_ci     * @atomicservice
27561847f8eSopenharmony_ci     * @since 12
27661847f8eSopenharmony_ci     */
27761847f8eSopenharmony_ci    styledValue: StyledStringValue;
27861847f8eSopenharmony_ci}
27961847f8eSopenharmony_ci
28061847f8eSopenharmony_ci/**
28161847f8eSopenharmony_ci * Defines TextStyle.
28261847f8eSopenharmony_ci *
28361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
28461847f8eSopenharmony_ci * @crossplatform
28561847f8eSopenharmony_ci * @atomicservice
28661847f8eSopenharmony_ci * @since 12
28761847f8eSopenharmony_ci */
28861847f8eSopenharmony_cideclare class TextStyle {
28961847f8eSopenharmony_ci
29061847f8eSopenharmony_ci    /**
29161847f8eSopenharmony_ci     * constructor.
29261847f8eSopenharmony_ci     *
29361847f8eSopenharmony_ci     * @param { TextStyleInterface } [value] - font property object.
29461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
29561847f8eSopenharmony_ci     * @crossplatform
29661847f8eSopenharmony_ci     * @atomicservice
29761847f8eSopenharmony_ci     * @since 12
29861847f8eSopenharmony_ci     */
29961847f8eSopenharmony_ci    constructor(value?: TextStyleInterface);
30061847f8eSopenharmony_ci
30161847f8eSopenharmony_ci    /**
30261847f8eSopenharmony_ci     * Get the fontColor of the StyledString.
30361847f8eSopenharmony_ci     *
30461847f8eSopenharmony_ci     * @type { ?ResourceColor } - the set fontColor of the StyledString or undefined
30561847f8eSopenharmony_ci     * @readonly
30661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
30761847f8eSopenharmony_ci     * @crossplatform
30861847f8eSopenharmony_ci     * @atomicservice
30961847f8eSopenharmony_ci     * @since 12
31061847f8eSopenharmony_ci     */
31161847f8eSopenharmony_ci    readonly fontColor?: ResourceColor;
31261847f8eSopenharmony_ci
31361847f8eSopenharmony_ci    /**
31461847f8eSopenharmony_ci     * Get the fontFamily of the StyledString.
31561847f8eSopenharmony_ci     *
31661847f8eSopenharmony_ci     * @type { ?string } - the fontFamily of the StyledString or undefined
31761847f8eSopenharmony_ci     * @readonly
31861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
31961847f8eSopenharmony_ci     * @crossplatform
32061847f8eSopenharmony_ci     * @atomicservice
32161847f8eSopenharmony_ci     * @since 12
32261847f8eSopenharmony_ci     */
32361847f8eSopenharmony_ci    readonly fontFamily?: string;
32461847f8eSopenharmony_ci
32561847f8eSopenharmony_ci    /**
32661847f8eSopenharmony_ci     * Get the fontSize of the StyledString.
32761847f8eSopenharmony_ci     * If not undefined, the unit is vp.
32861847f8eSopenharmony_ci     *
32961847f8eSopenharmony_ci     * @type { ?number } - the fontSize of the StyledString or undefined
33061847f8eSopenharmony_ci     * @readonly
33161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
33261847f8eSopenharmony_ci     * @crossplatform
33361847f8eSopenharmony_ci     * @atomicservice
33461847f8eSopenharmony_ci     * @since 12
33561847f8eSopenharmony_ci     */
33661847f8eSopenharmony_ci    readonly fontSize?: number;
33761847f8eSopenharmony_ci
33861847f8eSopenharmony_ci    /**
33961847f8eSopenharmony_ci     * Get the fontWeight of the StyledString.
34061847f8eSopenharmony_ci     *
34161847f8eSopenharmony_ci     * @type { ?number } - the fontWeight of the StyledString or undefined
34261847f8eSopenharmony_ci     * @readonly
34361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
34461847f8eSopenharmony_ci     * @crossplatform
34561847f8eSopenharmony_ci     * @atomicservice
34661847f8eSopenharmony_ci     * @since 12
34761847f8eSopenharmony_ci     */
34861847f8eSopenharmony_ci    readonly fontWeight?: number;
34961847f8eSopenharmony_ci
35061847f8eSopenharmony_ci    /**
35161847f8eSopenharmony_ci     * Get the fontStyle of the StyledString.
35261847f8eSopenharmony_ci     *
35361847f8eSopenharmony_ci     * @type { ?FontStyle  } - the fontStyle of the StyledString or undefined
35461847f8eSopenharmony_ci     * @readonly
35561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
35661847f8eSopenharmony_ci     * @crossplatform
35761847f8eSopenharmony_ci     * @atomicservice
35861847f8eSopenharmony_ci     * @since 12
35961847f8eSopenharmony_ci     */
36061847f8eSopenharmony_ci    readonly fontStyle?: FontStyle;
36161847f8eSopenharmony_ci}
36261847f8eSopenharmony_ci
36361847f8eSopenharmony_ci/**
36461847f8eSopenharmony_ci * TextStyleInterface
36561847f8eSopenharmony_ci *
36661847f8eSopenharmony_ci * @interface TextStyleInterface
36761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
36861847f8eSopenharmony_ci * @crossplatform
36961847f8eSopenharmony_ci * @atomicservice
37061847f8eSopenharmony_ci * @since 12
37161847f8eSopenharmony_ci */
37261847f8eSopenharmony_cideclare interface TextStyleInterface {
37361847f8eSopenharmony_ci    /**
37461847f8eSopenharmony_ci     * The fontColor value of the font property object.
37561847f8eSopenharmony_ci     *
37661847f8eSopenharmony_ci     * @type { ?ResourceColor }
37761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
37861847f8eSopenharmony_ci     * @crossplatform
37961847f8eSopenharmony_ci     * @atomicservice
38061847f8eSopenharmony_ci     * @since 12
38161847f8eSopenharmony_ci     */
38261847f8eSopenharmony_ci    fontColor?: ResourceColor;
38361847f8eSopenharmony_ci
38461847f8eSopenharmony_ci    /**
38561847f8eSopenharmony_ci     * The fontFamily value of the font property object.
38661847f8eSopenharmony_ci     *
38761847f8eSopenharmony_ci     * @type { ?ResourceStr }
38861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
38961847f8eSopenharmony_ci     * @crossplatform
39061847f8eSopenharmony_ci     * @atomicservice
39161847f8eSopenharmony_ci     * @since 12
39261847f8eSopenharmony_ci     */
39361847f8eSopenharmony_ci    fontFamily?: ResourceStr;
39461847f8eSopenharmony_ci
39561847f8eSopenharmony_ci    /**
39661847f8eSopenharmony_ci     * The fontSize value of the font property object.
39761847f8eSopenharmony_ci     *
39861847f8eSopenharmony_ci     * @type { ?LengthMetrics }
39961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
40061847f8eSopenharmony_ci     * @crossplatform
40161847f8eSopenharmony_ci     * @atomicservice
40261847f8eSopenharmony_ci     * @since 12
40361847f8eSopenharmony_ci     */
40461847f8eSopenharmony_ci    fontSize?: LengthMetrics;
40561847f8eSopenharmony_ci
40661847f8eSopenharmony_ci    /**
40761847f8eSopenharmony_ci     * The fontWeight value of the font property object.
40861847f8eSopenharmony_ci     *
40961847f8eSopenharmony_ci     * @type { ?(number | FontWeight | string) }
41061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
41161847f8eSopenharmony_ci     * @crossplatform
41261847f8eSopenharmony_ci     * @atomicservice
41361847f8eSopenharmony_ci     * @since 12
41461847f8eSopenharmony_ci     */
41561847f8eSopenharmony_ci    fontWeight?: number | FontWeight | string;
41661847f8eSopenharmony_ci
41761847f8eSopenharmony_ci    /**
41861847f8eSopenharmony_ci     * The fontStyle value of the font property object.
41961847f8eSopenharmony_ci     *
42061847f8eSopenharmony_ci     * @type { ?FontStyle }
42161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
42261847f8eSopenharmony_ci     * @crossplatform
42361847f8eSopenharmony_ci     * @atomicservice
42461847f8eSopenharmony_ci     * @since 12
42561847f8eSopenharmony_ci     */
42661847f8eSopenharmony_ci    fontStyle?: FontStyle;
42761847f8eSopenharmony_ci}
42861847f8eSopenharmony_ci
42961847f8eSopenharmony_ci/**
43061847f8eSopenharmony_ci * Defines DecorationStyle.
43161847f8eSopenharmony_ci *
43261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
43361847f8eSopenharmony_ci * @crossplatform
43461847f8eSopenharmony_ci * @atomicservice
43561847f8eSopenharmony_ci * @since 12
43661847f8eSopenharmony_ci */
43761847f8eSopenharmony_cideclare class DecorationStyle {
43861847f8eSopenharmony_ci
43961847f8eSopenharmony_ci    /**
44061847f8eSopenharmony_ci     * constructor.
44161847f8eSopenharmony_ci     *
44261847f8eSopenharmony_ci     * @param { DecorationStyleInterface } value - text decoration value.
44361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
44461847f8eSopenharmony_ci     * @crossplatform
44561847f8eSopenharmony_ci     * @atomicservice
44661847f8eSopenharmony_ci     * @since 12
44761847f8eSopenharmony_ci     */
44861847f8eSopenharmony_ci    constructor(value: DecorationStyleInterface);
44961847f8eSopenharmony_ci
45061847f8eSopenharmony_ci    /**
45161847f8eSopenharmony_ci     * Get the text decoration type of the StyledString.
45261847f8eSopenharmony_ci     *
45361847f8eSopenharmony_ci     * @type { TextDecorationType } - the decoration type of the StyledString
45461847f8eSopenharmony_ci     * @readonly
45561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
45661847f8eSopenharmony_ci     * @crossplatform
45761847f8eSopenharmony_ci     * @atomicservice
45861847f8eSopenharmony_ci     * @since 12
45961847f8eSopenharmony_ci     */
46061847f8eSopenharmony_ci    readonly type: TextDecorationType;
46161847f8eSopenharmony_ci
46261847f8eSopenharmony_ci    /**
46361847f8eSopenharmony_ci     * Get the decorationColor of the StyledString.
46461847f8eSopenharmony_ci     *
46561847f8eSopenharmony_ci     * @type { ?ResourceColor } - the decorationColor of the StyledString or undefined
46661847f8eSopenharmony_ci     * @readonly
46761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
46861847f8eSopenharmony_ci     * @crossplatform
46961847f8eSopenharmony_ci     * @atomicservice
47061847f8eSopenharmony_ci     * @since 12
47161847f8eSopenharmony_ci     */
47261847f8eSopenharmony_ci    readonly color?: ResourceColor;
47361847f8eSopenharmony_ci
47461847f8eSopenharmony_ci    /**
47561847f8eSopenharmony_ci     * Get the decorationStyle of the StyledString.
47661847f8eSopenharmony_ci     *
47761847f8eSopenharmony_ci     * @type { ?TextDecorationStyle } - the decorationStyle of the StyledString or undefined
47861847f8eSopenharmony_ci     * @readonly
47961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
48061847f8eSopenharmony_ci     * @crossplatform
48161847f8eSopenharmony_ci     * @atomicservice
48261847f8eSopenharmony_ci     * @since 12
48361847f8eSopenharmony_ci     */
48461847f8eSopenharmony_ci    readonly style?: TextDecorationStyle;
48561847f8eSopenharmony_ci}
48661847f8eSopenharmony_ci
48761847f8eSopenharmony_ci/**
48861847f8eSopenharmony_ci * DecorationStyleInterface
48961847f8eSopenharmony_ci *
49061847f8eSopenharmony_ci * @interface DecorationStyleInterface
49161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
49261847f8eSopenharmony_ci * @crossplatform
49361847f8eSopenharmony_ci * @atomicservice
49461847f8eSopenharmony_ci * @since 12
49561847f8eSopenharmony_ci */
49661847f8eSopenharmony_cideclare interface DecorationStyleInterface {
49761847f8eSopenharmony_ci    /**
49861847f8eSopenharmony_ci     * The type value of the decoration property object.
49961847f8eSopenharmony_ci     *
50061847f8eSopenharmony_ci     * @type { TextDecorationType }
50161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
50261847f8eSopenharmony_ci     * @crossplatform
50361847f8eSopenharmony_ci     * @atomicservice
50461847f8eSopenharmony_ci     * @since 12
50561847f8eSopenharmony_ci     */
50661847f8eSopenharmony_ci    type: TextDecorationType;
50761847f8eSopenharmony_ci
50861847f8eSopenharmony_ci    /**
50961847f8eSopenharmony_ci     * The color value of the decoration property object.
51061847f8eSopenharmony_ci     *
51161847f8eSopenharmony_ci     * @type { ?ResourceColor }
51261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
51361847f8eSopenharmony_ci     * @crossplatform
51461847f8eSopenharmony_ci     * @atomicservice
51561847f8eSopenharmony_ci     * @since 12
51661847f8eSopenharmony_ci     */
51761847f8eSopenharmony_ci    color?: ResourceColor;
51861847f8eSopenharmony_ci
51961847f8eSopenharmony_ci    /**
52061847f8eSopenharmony_ci     * The style value of the decoration property object.
52161847f8eSopenharmony_ci     *
52261847f8eSopenharmony_ci     * @type { ?TextDecorationStyle }
52361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
52461847f8eSopenharmony_ci     * @crossplatform
52561847f8eSopenharmony_ci     * @atomicservice
52661847f8eSopenharmony_ci     * @since 12
52761847f8eSopenharmony_ci     */
52861847f8eSopenharmony_ci    style?: TextDecorationStyle;
52961847f8eSopenharmony_ci}
53061847f8eSopenharmony_ci
53161847f8eSopenharmony_ci/**
53261847f8eSopenharmony_ci * Defines BaselineOffsetStyle.
53361847f8eSopenharmony_ci *
53461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
53561847f8eSopenharmony_ci * @crossplatform
53661847f8eSopenharmony_ci * @atomicservice
53761847f8eSopenharmony_ci * @since 12
53861847f8eSopenharmony_ci */
53961847f8eSopenharmony_cideclare class BaselineOffsetStyle {
54061847f8eSopenharmony_ci    
54161847f8eSopenharmony_ci    /**
54261847f8eSopenharmony_ci     * constructor.
54361847f8eSopenharmony_ci     *
54461847f8eSopenharmony_ci     * @param { LengthMetrics } value - baseline offset value.
54561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
54661847f8eSopenharmony_ci     * @crossplatform
54761847f8eSopenharmony_ci     * @atomicservice
54861847f8eSopenharmony_ci     * @since 12
54961847f8eSopenharmony_ci     */
55061847f8eSopenharmony_ci    constructor(value: LengthMetrics);
55161847f8eSopenharmony_ci
55261847f8eSopenharmony_ci    /**
55361847f8eSopenharmony_ci     * Get the baselineOffset value of the StyledString.
55461847f8eSopenharmony_ci     * The unit is vp.
55561847f8eSopenharmony_ci     *
55661847f8eSopenharmony_ci     * @type { number } - the baselineOffset value of the StyledString
55761847f8eSopenharmony_ci     * @readonly
55861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
55961847f8eSopenharmony_ci     * @crossplatform
56061847f8eSopenharmony_ci     * @atomicservice
56161847f8eSopenharmony_ci     * @since 12
56261847f8eSopenharmony_ci     */
56361847f8eSopenharmony_ci    readonly baselineOffset: number;
56461847f8eSopenharmony_ci}
56561847f8eSopenharmony_ci
56661847f8eSopenharmony_ci/**
56761847f8eSopenharmony_ci * Defines LetterSpacingStyle.
56861847f8eSopenharmony_ci *
56961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
57061847f8eSopenharmony_ci * @crossplatform
57161847f8eSopenharmony_ci * @atomicservice
57261847f8eSopenharmony_ci * @since 12
57361847f8eSopenharmony_ci */
57461847f8eSopenharmony_cideclare class LetterSpacingStyle {
57561847f8eSopenharmony_ci   
57661847f8eSopenharmony_ci    /**
57761847f8eSopenharmony_ci     * constructor.
57861847f8eSopenharmony_ci     *
57961847f8eSopenharmony_ci     * @param { LengthMetrics } value - letter space value.
58061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
58161847f8eSopenharmony_ci     * @crossplatform
58261847f8eSopenharmony_ci     * @atomicservice
58361847f8eSopenharmony_ci     * @since 12
58461847f8eSopenharmony_ci     */
58561847f8eSopenharmony_ci    constructor(value: LengthMetrics);
58661847f8eSopenharmony_ci
58761847f8eSopenharmony_ci    /**
58861847f8eSopenharmony_ci     * Get the letterSpacing value of the StyledString.
58961847f8eSopenharmony_ci     * The unit is vp.
59061847f8eSopenharmony_ci     * 
59161847f8eSopenharmony_ci     * @type { number } - the letterSpacing value of the StyledString
59261847f8eSopenharmony_ci     * @readonly
59361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
59461847f8eSopenharmony_ci     * @crossplatform
59561847f8eSopenharmony_ci     * @atomicservice
59661847f8eSopenharmony_ci     * @since 12
59761847f8eSopenharmony_ci     */
59861847f8eSopenharmony_ci    readonly letterSpacing: number;
59961847f8eSopenharmony_ci}
60061847f8eSopenharmony_ci
60161847f8eSopenharmony_ci/**
60261847f8eSopenharmony_ci * Defines TextShadowStyle.
60361847f8eSopenharmony_ci *
60461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
60561847f8eSopenharmony_ci * @crossplatform
60661847f8eSopenharmony_ci * @atomicservice
60761847f8eSopenharmony_ci * @since 12
60861847f8eSopenharmony_ci */
60961847f8eSopenharmony_cideclare class TextShadowStyle {
61061847f8eSopenharmony_ci   
61161847f8eSopenharmony_ci    /**
61261847f8eSopenharmony_ci     * constructor.
61361847f8eSopenharmony_ci     *
61461847f8eSopenharmony_ci     * @param { ShadowOptions | Array<ShadowOptions> } value - text shadow value.
61561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
61661847f8eSopenharmony_ci     * @crossplatform
61761847f8eSopenharmony_ci     * @atomicservice
61861847f8eSopenharmony_ci     * @since 12
61961847f8eSopenharmony_ci     */
62061847f8eSopenharmony_ci    constructor(value: ShadowOptions | Array<ShadowOptions>);
62161847f8eSopenharmony_ci
62261847f8eSopenharmony_ci    /**
62361847f8eSopenharmony_ci     * Get the textShadow value of the StyledString.
62461847f8eSopenharmony_ci     *
62561847f8eSopenharmony_ci     * @type { Array<ShadowOptions> } - the textShadow value of the StyledString
62661847f8eSopenharmony_ci     * @readonly
62761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
62861847f8eSopenharmony_ci     * @crossplatform
62961847f8eSopenharmony_ci     * @atomicservice
63061847f8eSopenharmony_ci     * @since 12
63161847f8eSopenharmony_ci     */
63261847f8eSopenharmony_ci    readonly textShadow: Array<ShadowOptions>;
63361847f8eSopenharmony_ci}
63461847f8eSopenharmony_ci
63561847f8eSopenharmony_ci/**
63661847f8eSopenharmony_ci * Defines Sets the property string background color.
63761847f8eSopenharmony_ci *
63861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
63961847f8eSopenharmony_ci * @crossplatform
64061847f8eSopenharmony_ci * @atomicservice
64161847f8eSopenharmony_ci * @since 13
64261847f8eSopenharmony_ci */
64361847f8eSopenharmony_cideclare class BackgroundColorStyle {
64461847f8eSopenharmony_ci
64561847f8eSopenharmony_ci    /**
64661847f8eSopenharmony_ci     * constructor.
64761847f8eSopenharmony_ci     *
64861847f8eSopenharmony_ci     * @param { TextBackgroundStyle } textBackgroundStyle - textBackgroundStyle value.
64961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
65061847f8eSopenharmony_ci     * @crossplatform
65161847f8eSopenharmony_ci     * @atomicservice
65261847f8eSopenharmony_ci     * @since 13
65361847f8eSopenharmony_ci     */
65461847f8eSopenharmony_ci    constructor(textBackgroundStyle: TextBackgroundStyle);
65561847f8eSopenharmony_ci
65661847f8eSopenharmony_ci    /**
65761847f8eSopenharmony_ci     * Get the textBackgroundStyle value of the StyledString.
65861847f8eSopenharmony_ci     *
65961847f8eSopenharmony_ci     * @type { TextBackgroundStyle } - the textBackgroundStyle value of the StyledString
66061847f8eSopenharmony_ci     * @readonly
66161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
66261847f8eSopenharmony_ci     * @crossplatform
66361847f8eSopenharmony_ci     * @atomicservice
66461847f8eSopenharmony_ci     * @since 13
66561847f8eSopenharmony_ci     */
66661847f8eSopenharmony_ci    readonly textBackgroundStyle: TextBackgroundStyle;
66761847f8eSopenharmony_ci}
66861847f8eSopenharmony_ci
66961847f8eSopenharmony_ci/**
67061847f8eSopenharmony_ci * Defines GestureStyle.
67161847f8eSopenharmony_ci *
67261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
67361847f8eSopenharmony_ci * @crossplatform
67461847f8eSopenharmony_ci * @atomicservice
67561847f8eSopenharmony_ci * @since 12
67661847f8eSopenharmony_ci */
67761847f8eSopenharmony_cideclare class GestureStyle {
67861847f8eSopenharmony_ci
67961847f8eSopenharmony_ci    /**
68061847f8eSopenharmony_ci     * constructor.
68161847f8eSopenharmony_ci     *
68261847f8eSopenharmony_ci     * @param { GestureStyleInterface } [value] - gesture event object.
68361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
68461847f8eSopenharmony_ci     * @crossplatform
68561847f8eSopenharmony_ci     * @atomicservice
68661847f8eSopenharmony_ci     * @since 12
68761847f8eSopenharmony_ci     */
68861847f8eSopenharmony_ci    constructor(value?: GestureStyleInterface);
68961847f8eSopenharmony_ci}
69061847f8eSopenharmony_ci
69161847f8eSopenharmony_ci/**
69261847f8eSopenharmony_ci * Defines the Gesture Events.
69361847f8eSopenharmony_ci *
69461847f8eSopenharmony_ci * @interface GestureStyleInterface
69561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
69661847f8eSopenharmony_ci * @crossplatform
69761847f8eSopenharmony_ci * @atomicservice
69861847f8eSopenharmony_ci * @since 12
69961847f8eSopenharmony_ci */
70061847f8eSopenharmony_cideclare interface GestureStyleInterface {
70161847f8eSopenharmony_ci    /**
70261847f8eSopenharmony_ci     * Trigger a click event when a click is clicked.
70361847f8eSopenharmony_ci     *
70461847f8eSopenharmony_ci     * @type { ?Callback<ClickEvent> }
70561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
70661847f8eSopenharmony_ci     * @crossplatform
70761847f8eSopenharmony_ci     * @atomicservice
70861847f8eSopenharmony_ci     * @since 12
70961847f8eSopenharmony_ci     */
71061847f8eSopenharmony_ci    onClick?: Callback<ClickEvent>;
71161847f8eSopenharmony_ci
71261847f8eSopenharmony_ci    /**
71361847f8eSopenharmony_ci     * Trigger a gesture event when long press event is complete.
71461847f8eSopenharmony_ci     *
71561847f8eSopenharmony_ci     * @type { ?Callback<GestureEvent> }
71661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
71761847f8eSopenharmony_ci     * @crossplatform
71861847f8eSopenharmony_ci     * @atomicservice
71961847f8eSopenharmony_ci     * @since 12
72061847f8eSopenharmony_ci     */
72161847f8eSopenharmony_ci    onLongPress?: Callback<GestureEvent>;
72261847f8eSopenharmony_ci}
72361847f8eSopenharmony_ci
72461847f8eSopenharmony_ci/**
72561847f8eSopenharmony_ci * Defines ParagraphStyle.
72661847f8eSopenharmony_ci *
72761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
72861847f8eSopenharmony_ci * @crossplatform
72961847f8eSopenharmony_ci * @atomicservice
73061847f8eSopenharmony_ci * @since 12
73161847f8eSopenharmony_ci */
73261847f8eSopenharmony_cideclare class ParagraphStyle {
73361847f8eSopenharmony_ci
73461847f8eSopenharmony_ci    /**
73561847f8eSopenharmony_ci     * constructor.
73661847f8eSopenharmony_ci     *
73761847f8eSopenharmony_ci     * @param { ParagraphStyleInterface } [value] - paragraph property object.
73861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
73961847f8eSopenharmony_ci     * @crossplatform
74061847f8eSopenharmony_ci     * @atomicservice
74161847f8eSopenharmony_ci     * @since 12
74261847f8eSopenharmony_ci     */
74361847f8eSopenharmony_ci    constructor(value?: ParagraphStyleInterface);
74461847f8eSopenharmony_ci
74561847f8eSopenharmony_ci    /**
74661847f8eSopenharmony_ci     * Get the text alignment of the StyledString.
74761847f8eSopenharmony_ci     *
74861847f8eSopenharmony_ci     * @type { ?TextAlign } - the text alignment of the StyledString or undefined
74961847f8eSopenharmony_ci     * @readonly
75061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
75161847f8eSopenharmony_ci     * @crossplatform
75261847f8eSopenharmony_ci     * @atomicservice
75361847f8eSopenharmony_ci     * @since 12
75461847f8eSopenharmony_ci     */
75561847f8eSopenharmony_ci    readonly textAlign?: TextAlign;
75661847f8eSopenharmony_ci
75761847f8eSopenharmony_ci    /**
75861847f8eSopenharmony_ci     * Get the first line indentation of the StyledString.
75961847f8eSopenharmony_ci     * The unit is vp.
76061847f8eSopenharmony_ci     *
76161847f8eSopenharmony_ci     * @type { ?number } - the first line indentation of the StyledString or undefined
76261847f8eSopenharmony_ci     * @readonly
76361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
76461847f8eSopenharmony_ci     * @crossplatform
76561847f8eSopenharmony_ci     * @atomicservice
76661847f8eSopenharmony_ci     * @since 12
76761847f8eSopenharmony_ci     */
76861847f8eSopenharmony_ci    readonly textIndent?: number;
76961847f8eSopenharmony_ci
77061847f8eSopenharmony_ci    /**
77161847f8eSopenharmony_ci     * Get the maximum number of lines of the StyledString.
77261847f8eSopenharmony_ci     *
77361847f8eSopenharmony_ci     * @type { ?number } - the maximum number of the StyledString or undefined
77461847f8eSopenharmony_ci     * @readonly
77561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
77661847f8eSopenharmony_ci     * @crossplatform
77761847f8eSopenharmony_ci     * @atomicservice
77861847f8eSopenharmony_ci     * @since 12
77961847f8eSopenharmony_ci     */
78061847f8eSopenharmony_ci    readonly maxLines?: number;
78161847f8eSopenharmony_ci
78261847f8eSopenharmony_ci    /**
78361847f8eSopenharmony_ci     * Get the overflow mode of the StyledString.
78461847f8eSopenharmony_ci     *
78561847f8eSopenharmony_ci     * @type { ?TextOverflow } - the overflow mode of the StyledString or undefined
78661847f8eSopenharmony_ci     * @readonly
78761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
78861847f8eSopenharmony_ci     * @crossplatform
78961847f8eSopenharmony_ci     * @atomicservice
79061847f8eSopenharmony_ci     * @since 12
79161847f8eSopenharmony_ci     */
79261847f8eSopenharmony_ci    readonly overflow?: TextOverflow;
79361847f8eSopenharmony_ci
79461847f8eSopenharmony_ci    /**
79561847f8eSopenharmony_ci     * Get the wordBreak mode of the StyledString.
79661847f8eSopenharmony_ci     *
79761847f8eSopenharmony_ci     * @type { ?WordBreak } - the wordBreak mode of the StyledString or undefined
79861847f8eSopenharmony_ci     * @readonly
79961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
80061847f8eSopenharmony_ci     * @crossplatform
80161847f8eSopenharmony_ci     * @atomicservice
80261847f8eSopenharmony_ci     * @since 12
80361847f8eSopenharmony_ci     */
80461847f8eSopenharmony_ci    readonly wordBreak?: WordBreak;
80561847f8eSopenharmony_ci
80661847f8eSopenharmony_ci    /**
80761847f8eSopenharmony_ci     * Get the leading margin of the StyledString.
80861847f8eSopenharmony_ci     *
80961847f8eSopenharmony_ci     * @type { ?(number | LeadingMarginPlaceholder) } - the leading margin of the StyledString or undefined
81061847f8eSopenharmony_ci     * @readonly
81161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
81261847f8eSopenharmony_ci     * @crossplatform
81361847f8eSopenharmony_ci     * @atomicservice
81461847f8eSopenharmony_ci     * @since 12
81561847f8eSopenharmony_ci     */
81661847f8eSopenharmony_ci    readonly leadingMargin?: number | LeadingMarginPlaceholder;
81761847f8eSopenharmony_ci}
81861847f8eSopenharmony_ci
81961847f8eSopenharmony_ci/**
82061847f8eSopenharmony_ci * ParagraphStyleInterface
82161847f8eSopenharmony_ci *
82261847f8eSopenharmony_ci * @interface ParagraphStyleInterface
82361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
82461847f8eSopenharmony_ci * @crossplatform
82561847f8eSopenharmony_ci * @atomicservice
82661847f8eSopenharmony_ci * @since 12
82761847f8eSopenharmony_ci */
82861847f8eSopenharmony_cideclare interface ParagraphStyleInterface {
82961847f8eSopenharmony_ci    /**
83061847f8eSopenharmony_ci     * Alignment of text.
83161847f8eSopenharmony_ci     *
83261847f8eSopenharmony_ci     * @type { ?TextAlign }
83361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
83461847f8eSopenharmony_ci     * @crossplatform
83561847f8eSopenharmony_ci     * @atomicservice
83661847f8eSopenharmony_ci     * @since 12
83761847f8eSopenharmony_ci     */
83861847f8eSopenharmony_ci    textAlign?: TextAlign;
83961847f8eSopenharmony_ci
84061847f8eSopenharmony_ci    /**
84161847f8eSopenharmony_ci     * Set the first line indentation.
84261847f8eSopenharmony_ci     *
84361847f8eSopenharmony_ci     * @type { ?LengthMetrics }
84461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
84561847f8eSopenharmony_ci     * @crossplatform
84661847f8eSopenharmony_ci     * @atomicservice
84761847f8eSopenharmony_ci     * @since 12
84861847f8eSopenharmony_ci     */
84961847f8eSopenharmony_ci    textIndent?: LengthMetrics;
85061847f8eSopenharmony_ci
85161847f8eSopenharmony_ci    /**
85261847f8eSopenharmony_ci     * The maximum number of lines of content.
85361847f8eSopenharmony_ci     *
85461847f8eSopenharmony_ci     * @type { ?number }
85561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
85661847f8eSopenharmony_ci     * @crossplatform
85761847f8eSopenharmony_ci     * @atomicservice
85861847f8eSopenharmony_ci     * @since 12
85961847f8eSopenharmony_ci     */
86061847f8eSopenharmony_ci    maxLines?: number;
86161847f8eSopenharmony_ci
86261847f8eSopenharmony_ci    /**
86361847f8eSopenharmony_ci     * The overflow mode of the content.
86461847f8eSopenharmony_ci     *
86561847f8eSopenharmony_ci     * @type { ?TextOverflow }
86661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
86761847f8eSopenharmony_ci     * @crossplatform
86861847f8eSopenharmony_ci     * @atomicservice
86961847f8eSopenharmony_ci     * @since 12
87061847f8eSopenharmony_ci     */
87161847f8eSopenharmony_ci    overflow?: TextOverflow;
87261847f8eSopenharmony_ci
87361847f8eSopenharmony_ci    /**
87461847f8eSopenharmony_ci     * Set word break type.
87561847f8eSopenharmony_ci     *
87661847f8eSopenharmony_ci     * @type { ?WordBreak }
87761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
87861847f8eSopenharmony_ci     * @crossplatform
87961847f8eSopenharmony_ci     * @atomicservice
88061847f8eSopenharmony_ci     * @since 12
88161847f8eSopenharmony_ci     */
88261847f8eSopenharmony_ci    wordBreak?: WordBreak;
88361847f8eSopenharmony_ci
88461847f8eSopenharmony_ci    /**
88561847f8eSopenharmony_ci     * Leading margin.
88661847f8eSopenharmony_ci     *
88761847f8eSopenharmony_ci     * @type { ?(LengthMetrics | LeadingMarginPlaceholder) }
88861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
88961847f8eSopenharmony_ci     * @crossplatform
89061847f8eSopenharmony_ci     * @atomicservice
89161847f8eSopenharmony_ci     * @since 12
89261847f8eSopenharmony_ci     */
89361847f8eSopenharmony_ci    leadingMargin?: LengthMetrics | LeadingMarginPlaceholder;
89461847f8eSopenharmony_ci}
89561847f8eSopenharmony_ci
89661847f8eSopenharmony_ci/**
89761847f8eSopenharmony_ci * Defines LineHeightStyle.
89861847f8eSopenharmony_ci *
89961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
90061847f8eSopenharmony_ci * @crossplatform
90161847f8eSopenharmony_ci * @atomicservice
90261847f8eSopenharmony_ci * @since 12
90361847f8eSopenharmony_ci */
90461847f8eSopenharmony_cideclare class LineHeightStyle {
90561847f8eSopenharmony_ci   
90661847f8eSopenharmony_ci    /**
90761847f8eSopenharmony_ci     * constructor.
90861847f8eSopenharmony_ci     *
90961847f8eSopenharmony_ci     * @param { LengthMetrics } lineHeight - line height value.
91061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
91161847f8eSopenharmony_ci     * @crossplatform
91261847f8eSopenharmony_ci     * @atomicservice
91361847f8eSopenharmony_ci     * @since 12
91461847f8eSopenharmony_ci     */
91561847f8eSopenharmony_ci    constructor(lineHeight: LengthMetrics);
91661847f8eSopenharmony_ci
91761847f8eSopenharmony_ci    /**
91861847f8eSopenharmony_ci     * Get the lineHeight value of the StyledString.
91961847f8eSopenharmony_ci     * The unit is vp.
92061847f8eSopenharmony_ci     * 
92161847f8eSopenharmony_ci     * @type { number } - the lineHeight value of the StyledString
92261847f8eSopenharmony_ci     * @readonly
92361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
92461847f8eSopenharmony_ci     * @crossplatform
92561847f8eSopenharmony_ci     * @atomicservice
92661847f8eSopenharmony_ci     * @since 12
92761847f8eSopenharmony_ci     */
92861847f8eSopenharmony_ci    readonly lineHeight: number;
92961847f8eSopenharmony_ci}
93061847f8eSopenharmony_ci
93161847f8eSopenharmony_ci/**
93261847f8eSopenharmony_ci * Defines the URLStyle hyperlink that allows setting a URL string. When clicking on the text to
93361847f8eSopenharmony_ci * which the span is attached, the URLStyle will try to open the URL.
93461847f8eSopenharmony_ci *
93561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
93661847f8eSopenharmony_ci * @crossplatform
93761847f8eSopenharmony_ci * @atomicservice
93861847f8eSopenharmony_ci * @since 13
93961847f8eSopenharmony_ci */
94061847f8eSopenharmony_cideclare class UrlStyle {
94161847f8eSopenharmony_ci
94261847f8eSopenharmony_ci    /**
94361847f8eSopenharmony_ci     * Constructor.
94461847f8eSopenharmony_ci     *
94561847f8eSopenharmony_ci     * @param { string } url - URL value.
94661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
94761847f8eSopenharmony_ci     * @crossplatform
94861847f8eSopenharmony_ci     * @atomicservice
94961847f8eSopenharmony_ci     * @since 13
95061847f8eSopenharmony_ci     */
95161847f8eSopenharmony_ci    constructor(url: string);
95261847f8eSopenharmony_ci
95361847f8eSopenharmony_ci    /**
95461847f8eSopenharmony_ci     * Get the URL value of the StyledString.
95561847f8eSopenharmony_ci     *
95661847f8eSopenharmony_ci     * @type { string } - the URL value of the StyledString
95761847f8eSopenharmony_ci     * @readonly
95861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
95961847f8eSopenharmony_ci     * @crossplatform
96061847f8eSopenharmony_ci     * @atomicservice
96161847f8eSopenharmony_ci     * @since 13
96261847f8eSopenharmony_ci     */
96361847f8eSopenharmony_ci    readonly url: string;
96461847f8eSopenharmony_ci}
96561847f8eSopenharmony_ci
96661847f8eSopenharmony_ci/**
96761847f8eSopenharmony_ci * Defines the Span Type.
96861847f8eSopenharmony_ci *
96961847f8eSopenharmony_ci * @typedef { TextStyle | DecorationStyle | BaselineOffsetStyle | LetterSpacingStyle | TextShadowStyle |
97061847f8eSopenharmony_ci * GestureStyle | ImageAttachment | ParagraphStyle | LineHeightStyle | CustomSpan |
97161847f8eSopenharmony_ci * UserDataSpan } StyledStringValue
97261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
97361847f8eSopenharmony_ci * @crossplatform
97461847f8eSopenharmony_ci * @atomicservice
97561847f8eSopenharmony_ci * @since 12
97661847f8eSopenharmony_ci */
97761847f8eSopenharmony_ci
97861847f8eSopenharmony_ci/**
97961847f8eSopenharmony_ci * Defines the Span Type.
98061847f8eSopenharmony_ci *
98161847f8eSopenharmony_ci * @typedef { TextStyle | DecorationStyle | BaselineOffsetStyle | LetterSpacingStyle | TextShadowStyle |
98261847f8eSopenharmony_ci * GestureStyle | ImageAttachment | ParagraphStyle | LineHeightStyle | UrlStyle | CustomSpan |
98361847f8eSopenharmony_ci * UserDataSpan | BackgroundColorStyle } StyledStringValue
98461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
98561847f8eSopenharmony_ci * @crossplatform
98661847f8eSopenharmony_ci * @atomicservice
98761847f8eSopenharmony_ci * @since 13
98861847f8eSopenharmony_ci */
98961847f8eSopenharmony_cideclare type StyledStringValue = TextStyle | DecorationStyle | BaselineOffsetStyle | LetterSpacingStyle |
99061847f8eSopenharmony_ciTextShadowStyle | GestureStyle | ImageAttachment | ParagraphStyle | LineHeightStyle | UrlStyle | CustomSpan |
99161847f8eSopenharmony_ciUserDataSpan | BackgroundColorStyle;
99261847f8eSopenharmony_ci
99361847f8eSopenharmony_ci/**
99461847f8eSopenharmony_ci * MutableStyledString
99561847f8eSopenharmony_ci *
99661847f8eSopenharmony_ci * @extends StyledString
99761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
99861847f8eSopenharmony_ci * @crossplatform
99961847f8eSopenharmony_ci * @atomicservice
100061847f8eSopenharmony_ci * @since 12
100161847f8eSopenharmony_ci */
100261847f8eSopenharmony_cideclare class MutableStyledString extends StyledString {
100361847f8eSopenharmony_ci    /**
100461847f8eSopenharmony_ci     * Replace the string of the specified range.
100561847f8eSopenharmony_ci     *
100661847f8eSopenharmony_ci     * @param { number } start - the start position of the replacedString.
100761847f8eSopenharmony_ci     * @param { number } length - the length of the replacedString's characters.
100861847f8eSopenharmony_ci     * @param { string } other - must be unicode string.
100961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
101061847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
101161847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
101261847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
101361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
101461847f8eSopenharmony_ci     * @crossplatform
101561847f8eSopenharmony_ci     * @atomicservice
101661847f8eSopenharmony_ci     * @since 12
101761847f8eSopenharmony_ci     */
101861847f8eSopenharmony_ci    replaceString(start: number, length: number, other: string): void;
101961847f8eSopenharmony_ci
102061847f8eSopenharmony_ci    /**
102161847f8eSopenharmony_ci    * Insert the string at the specified location.
102261847f8eSopenharmony_ci    *
102361847f8eSopenharmony_ci    * @param { number } start - the start position of the insertedString.
102461847f8eSopenharmony_ci    * @param { string } other - must be unicode string.
102561847f8eSopenharmony_ci    * @throws { BusinessError } 401 - Parameter error. Possible causes: 
102661847f8eSopenharmony_ci    * <br> 1. Mandatory parameters are left unspecified.
102761847f8eSopenharmony_ci    * <br> 2. Incorrect parameters types.
102861847f8eSopenharmony_ci    * <br> 3. Parameter verification failed.
102961847f8eSopenharmony_ci    * @syscap SystemCapability.ArkUI.ArkUI.Full
103061847f8eSopenharmony_ci    * @crossplatform
103161847f8eSopenharmony_ci    * @atomicservice
103261847f8eSopenharmony_ci    * @since 12
103361847f8eSopenharmony_ci    */
103461847f8eSopenharmony_ci    insertString(start: number, other: string): void;
103561847f8eSopenharmony_ci
103661847f8eSopenharmony_ci    /**
103761847f8eSopenharmony_ci    * Remove the string of the specified range.
103861847f8eSopenharmony_ci    *
103961847f8eSopenharmony_ci    * @param { number } start - the start position of the removedString.
104061847f8eSopenharmony_ci    * @param { number } length - the length of the removedString's characters.
104161847f8eSopenharmony_ci    * @throws { BusinessError } 401 - Parameter error. Possible causes: 
104261847f8eSopenharmony_ci    * <br> 1. Mandatory parameters are left unspecified.
104361847f8eSopenharmony_ci    * <br> 2. Incorrect parameters types.
104461847f8eSopenharmony_ci    * <br> 3. Parameter verification failed.
104561847f8eSopenharmony_ci    * @syscap SystemCapability.ArkUI.ArkUI.Full
104661847f8eSopenharmony_ci    * @crossplatform
104761847f8eSopenharmony_ci    * @atomicservice
104861847f8eSopenharmony_ci    * @since 12
104961847f8eSopenharmony_ci    */
105061847f8eSopenharmony_ci    removeString(start: number, length: number): void;
105161847f8eSopenharmony_ci
105261847f8eSopenharmony_ci    /**
105361847f8eSopenharmony_ci     * Replace the specified range string attribute.
105461847f8eSopenharmony_ci     *
105561847f8eSopenharmony_ci     * @param { SpanStyle } spanStyle - the SpanStyle Object.
105661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
105761847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
105861847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
105961847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
106061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
106161847f8eSopenharmony_ci     * @crossplatform
106261847f8eSopenharmony_ci     * @atomicservice
106361847f8eSopenharmony_ci     * @since 12
106461847f8eSopenharmony_ci     */
106561847f8eSopenharmony_ci    replaceStyle(spanStyle: SpanStyle): void;
106661847f8eSopenharmony_ci
106761847f8eSopenharmony_ci    /**
106861847f8eSopenharmony_ci     * Add attributes to the specified range string.
106961847f8eSopenharmony_ci     *
107061847f8eSopenharmony_ci     * @param { SpanStyle } spanStyle - the SpanStyle Object.
107161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - The parameter check failed.
107261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
107361847f8eSopenharmony_ci     * @crossplatform
107461847f8eSopenharmony_ci     * @atomicservice
107561847f8eSopenharmony_ci     * @since 12
107661847f8eSopenharmony_ci     */
107761847f8eSopenharmony_ci    setStyle(spanStyle: SpanStyle): void;
107861847f8eSopenharmony_ci
107961847f8eSopenharmony_ci    /**
108061847f8eSopenharmony_ci     * Delete the specified type attributes for the specified range string.
108161847f8eSopenharmony_ci     *
108261847f8eSopenharmony_ci     * @param { number } start - the start position of the removedAttributeStyledString.
108361847f8eSopenharmony_ci     * @param { number } length - the length of the removedAttributeStyledString's characters.
108461847f8eSopenharmony_ci     * @param { StyledStringKey } styledKey - the specified attribute type's key.
108561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
108661847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
108761847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
108861847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
108961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
109061847f8eSopenharmony_ci     * @crossplatform
109161847f8eSopenharmony_ci     * @atomicservice
109261847f8eSopenharmony_ci     * @since 12
109361847f8eSopenharmony_ci     */
109461847f8eSopenharmony_ci    removeStyle(start: number, length: number, styledKey: StyledStringKey): void;
109561847f8eSopenharmony_ci
109661847f8eSopenharmony_ci    /**
109761847f8eSopenharmony_ci     * Delete all attributes for the specified range styledString.
109861847f8eSopenharmony_ci     *
109961847f8eSopenharmony_ci     * @param { number } start - the start position of the attributeRemovedStyledString's characters.
110061847f8eSopenharmony_ci     * @param { number } length - the length of the attributeRemovedStyledString's characters.
110161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
110261847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
110361847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
110461847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
110561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
110661847f8eSopenharmony_ci     * @crossplatform
110761847f8eSopenharmony_ci     * @atomicservice
110861847f8eSopenharmony_ci     * @since 12
110961847f8eSopenharmony_ci     */
111061847f8eSopenharmony_ci    removeStyles(start: number, length: number): void;
111161847f8eSopenharmony_ci
111261847f8eSopenharmony_ci    /**
111361847f8eSopenharmony_ci     * Delete all attributes.
111461847f8eSopenharmony_ci     *
111561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
111661847f8eSopenharmony_ci     * @crossplatform
111761847f8eSopenharmony_ci     * @atomicservice
111861847f8eSopenharmony_ci     * @since 12
111961847f8eSopenharmony_ci     */
112061847f8eSopenharmony_ci    clearStyles(): void;
112161847f8eSopenharmony_ci
112261847f8eSopenharmony_ci    /**
112361847f8eSopenharmony_ci     * Replace the StyledString of the specified range.
112461847f8eSopenharmony_ci     *
112561847f8eSopenharmony_ci     * @param { number } start - the start position of the replacedStyledString.
112661847f8eSopenharmony_ci     * @param { number } length - the length of the replacedStyledString's characters.
112761847f8eSopenharmony_ci     * @param { StyledString } other - new StyledString.
112861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
112961847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
113061847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
113161847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
113261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
113361847f8eSopenharmony_ci     * @crossplatform
113461847f8eSopenharmony_ci     * @atomicservice
113561847f8eSopenharmony_ci     * @since 12
113661847f8eSopenharmony_ci     */
113761847f8eSopenharmony_ci    replaceStyledString(start: number, length: number, other: StyledString): void;
113861847f8eSopenharmony_ci
113961847f8eSopenharmony_ci    /**
114061847f8eSopenharmony_ci     * Insert new StyledString at the specified location.
114161847f8eSopenharmony_ci     *
114261847f8eSopenharmony_ci     * @param { number } start - the start position of the insertedStyledString.
114361847f8eSopenharmony_ci     * @param { StyledString } other - new StyledString.
114461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 
114561847f8eSopenharmony_ci     * <br> 1. Mandatory parameters are left unspecified.
114661847f8eSopenharmony_ci     * <br> 2. Incorrect parameters types.
114761847f8eSopenharmony_ci     * <br> 3. Parameter verification failed.
114861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
114961847f8eSopenharmony_ci     * @crossplatform
115061847f8eSopenharmony_ci     * @atomicservice
115161847f8eSopenharmony_ci     * @since 12
115261847f8eSopenharmony_ci     */
115361847f8eSopenharmony_ci    insertStyledString(start: number, other: StyledString): void;
115461847f8eSopenharmony_ci
115561847f8eSopenharmony_ci    /**
115661847f8eSopenharmony_ci     * Append new StyledString at the end.
115761847f8eSopenharmony_ci     *
115861847f8eSopenharmony_ci     * @param { StyledString } other - new StyledString.
115961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
116061847f8eSopenharmony_ci     * @crossplatform
116161847f8eSopenharmony_ci     * @atomicservice
116261847f8eSopenharmony_ci     * @since 12
116361847f8eSopenharmony_ci     */
116461847f8eSopenharmony_ci    appendStyledString(other: StyledString): void;
116561847f8eSopenharmony_ci}
116661847f8eSopenharmony_ci
116761847f8eSopenharmony_ci
116861847f8eSopenharmony_ci/**
116961847f8eSopenharmony_ci * the attribute type of the StyledString
117061847f8eSopenharmony_ci *
117161847f8eSopenharmony_ci * @enum { number }
117261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
117361847f8eSopenharmony_ci * @crossplatform
117461847f8eSopenharmony_ci * @atomicservice
117561847f8eSopenharmony_ci * @since 12
117661847f8eSopenharmony_ci */
117761847f8eSopenharmony_cideclare enum StyledStringKey {
117861847f8eSopenharmony_ci    /**
117961847f8eSopenharmony_ci     * The key of TextStyle.
118061847f8eSopenharmony_ci     *
118161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
118261847f8eSopenharmony_ci     * @crossplatform
118361847f8eSopenharmony_ci     * @atomicservice
118461847f8eSopenharmony_ci     * @since 12
118561847f8eSopenharmony_ci     */
118661847f8eSopenharmony_ci    FONT = 0,
118761847f8eSopenharmony_ci
118861847f8eSopenharmony_ci    /**
118961847f8eSopenharmony_ci     * The key of DecorationStyle.
119061847f8eSopenharmony_ci     *
119161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
119261847f8eSopenharmony_ci     * @crossplatform
119361847f8eSopenharmony_ci     * @atomicservice
119461847f8eSopenharmony_ci     * @since 12
119561847f8eSopenharmony_ci     */
119661847f8eSopenharmony_ci     DECORATION = 1,
119761847f8eSopenharmony_ci
119861847f8eSopenharmony_ci     /**
119961847f8eSopenharmony_ci      * The key of BaselineOffsetStyle.
120061847f8eSopenharmony_ci      *
120161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
120261847f8eSopenharmony_ci      * @crossplatform
120361847f8eSopenharmony_ci      * @atomicservice
120461847f8eSopenharmony_ci      * @since 12
120561847f8eSopenharmony_ci      */
120661847f8eSopenharmony_ci     BASELINE_OFFSET = 2,
120761847f8eSopenharmony_ci 
120861847f8eSopenharmony_ci     /**
120961847f8eSopenharmony_ci      * The key of LetterSpacingStyle.
121061847f8eSopenharmony_ci      *
121161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
121261847f8eSopenharmony_ci      * @crossplatform
121361847f8eSopenharmony_ci      * @atomicservice
121461847f8eSopenharmony_ci      * @since 12
121561847f8eSopenharmony_ci      */
121661847f8eSopenharmony_ci     LETTER_SPACING = 3,
121761847f8eSopenharmony_ci 
121861847f8eSopenharmony_ci     /**
121961847f8eSopenharmony_ci      * The key of TextShadowStyle.
122061847f8eSopenharmony_ci      *
122161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
122261847f8eSopenharmony_ci      * @crossplatform
122361847f8eSopenharmony_ci      * @atomicservice
122461847f8eSopenharmony_ci      * @since 12
122561847f8eSopenharmony_ci      */
122661847f8eSopenharmony_ci     TEXT_SHADOW = 4,
122761847f8eSopenharmony_ci
122861847f8eSopenharmony_ci     /**
122961847f8eSopenharmony_ci      * The key of LineHeightStyle.
123061847f8eSopenharmony_ci      *
123161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
123261847f8eSopenharmony_ci      * @crossplatform
123361847f8eSopenharmony_ci      * @atomicservice
123461847f8eSopenharmony_ci      * @since 12
123561847f8eSopenharmony_ci      */
123661847f8eSopenharmony_ci     LINE_HEIGHT = 5,
123761847f8eSopenharmony_ci
123861847f8eSopenharmony_ci     /**
123961847f8eSopenharmony_ci      * The key of BackgroundColorStyle.
124061847f8eSopenharmony_ci      *
124161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
124261847f8eSopenharmony_ci      * @crossplatform
124361847f8eSopenharmony_ci      * @atomicservice
124461847f8eSopenharmony_ci      * @since 13
124561847f8eSopenharmony_ci      */
124661847f8eSopenharmony_ci     BACKGROUND_COLOR = 6,
124761847f8eSopenharmony_ci
124861847f8eSopenharmony_ci     /**
124961847f8eSopenharmony_ci      * The key of UrlStyle.
125061847f8eSopenharmony_ci      *
125161847f8eSopenharmony_ci      * @syscap SystemCapability.ArkUI.ArkUI.Full
125261847f8eSopenharmony_ci      * @crossplatform
125361847f8eSopenharmony_ci      * @atomicservice
125461847f8eSopenharmony_ci      * @since 13
125561847f8eSopenharmony_ci      */
125661847f8eSopenharmony_ci     URL = 7,
125761847f8eSopenharmony_ci
125861847f8eSopenharmony_ci    /**
125961847f8eSopenharmony_ci     * The key of GestureStyle.
126061847f8eSopenharmony_ci     *
126161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
126261847f8eSopenharmony_ci     * @crossplatform
126361847f8eSopenharmony_ci     * @atomicservice
126461847f8eSopenharmony_ci     * @since 12
126561847f8eSopenharmony_ci     */
126661847f8eSopenharmony_ci    GESTURE = 100,
126761847f8eSopenharmony_ci
126861847f8eSopenharmony_ci    /**
126961847f8eSopenharmony_ci     * The key of ParagraphStyle.
127061847f8eSopenharmony_ci     *
127161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
127261847f8eSopenharmony_ci     * @crossplatform
127361847f8eSopenharmony_ci     * @atomicservice
127461847f8eSopenharmony_ci     * @since 12
127561847f8eSopenharmony_ci     */
127661847f8eSopenharmony_ci    PARAGRAPH_STYLE = 200,
127761847f8eSopenharmony_ci
127861847f8eSopenharmony_ci    /**
127961847f8eSopenharmony_ci     * The key of ImageAttachment.
128061847f8eSopenharmony_ci     *
128161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
128261847f8eSopenharmony_ci     * @crossplatform
128361847f8eSopenharmony_ci     * @atomicservice
128461847f8eSopenharmony_ci     * @since 12
128561847f8eSopenharmony_ci     */
128661847f8eSopenharmony_ci    IMAGE = 300,
128761847f8eSopenharmony_ci
128861847f8eSopenharmony_ci    /**
128961847f8eSopenharmony_ci     * The key of CustomSpan.
129061847f8eSopenharmony_ci     *
129161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
129261847f8eSopenharmony_ci     * @crossplatform
129361847f8eSopenharmony_ci     * @atomicservice
129461847f8eSopenharmony_ci     * @since 12
129561847f8eSopenharmony_ci     */
129661847f8eSopenharmony_ci    CUSTOM_SPAN = 400,
129761847f8eSopenharmony_ci
129861847f8eSopenharmony_ci    /**
129961847f8eSopenharmony_ci     * The key of UserDataSpan.
130061847f8eSopenharmony_ci     *
130161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
130261847f8eSopenharmony_ci     * @crossplatform
130361847f8eSopenharmony_ci     * @atomicservice
130461847f8eSopenharmony_ci     * @since 12
130561847f8eSopenharmony_ci     */
130661847f8eSopenharmony_ci    USER_DATA = 500,
130761847f8eSopenharmony_ci}
130861847f8eSopenharmony_ci
130961847f8eSopenharmony_ci/**
131061847f8eSopenharmony_ci * Defines ImageAttachment.
131161847f8eSopenharmony_ci *
131261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
131361847f8eSopenharmony_ci * @crossplatform
131461847f8eSopenharmony_ci * @atomicservice
131561847f8eSopenharmony_ci * @since 12
131661847f8eSopenharmony_ci */
131761847f8eSopenharmony_cideclare class ImageAttachment {
131861847f8eSopenharmony_ci
131961847f8eSopenharmony_ci    /**
132061847f8eSopenharmony_ci     * constructor.
132161847f8eSopenharmony_ci     *
132261847f8eSopenharmony_ci     * @param { ImageAttachmentInterface } value - image attachment object.
132361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
132461847f8eSopenharmony_ci     * @crossplatform
132561847f8eSopenharmony_ci     * @atomicservice
132661847f8eSopenharmony_ci     * @since 12
132761847f8eSopenharmony_ci     */
132861847f8eSopenharmony_ci    constructor(value: ImageAttachmentInterface);
132961847f8eSopenharmony_ci
133061847f8eSopenharmony_ci    /**
133161847f8eSopenharmony_ci     * Get the image content of the StyledString.
133261847f8eSopenharmony_ci     *
133361847f8eSopenharmony_ci     * @type { PixelMap } - the image content of the StyledString or undefined
133461847f8eSopenharmony_ci     * @readonly
133561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
133661847f8eSopenharmony_ci     * @crossplatform
133761847f8eSopenharmony_ci     * @atomicservice
133861847f8eSopenharmony_ci     * @since 12
133961847f8eSopenharmony_ci     */
134061847f8eSopenharmony_ci    readonly value: PixelMap;
134161847f8eSopenharmony_ci
134261847f8eSopenharmony_ci    /**
134361847f8eSopenharmony_ci     * Get the imageSize of the StyledString.
134461847f8eSopenharmony_ci     *
134561847f8eSopenharmony_ci     * @type { ?SizeOptions } - the imageSize of the StyledString or undefined
134661847f8eSopenharmony_ci     * @readonly
134761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
134861847f8eSopenharmony_ci     * @crossplatform
134961847f8eSopenharmony_ci     * @atomicservice
135061847f8eSopenharmony_ci     * @since 12
135161847f8eSopenharmony_ci     */
135261847f8eSopenharmony_ci    readonly size?: SizeOptions;
135361847f8eSopenharmony_ci
135461847f8eSopenharmony_ci    /**
135561847f8eSopenharmony_ci     * Get the ImageSpanAlignment of the StyledString.
135661847f8eSopenharmony_ci     *
135761847f8eSopenharmony_ci     * @type { ?ImageSpanAlignment } - the ImageSpanAlignment of the StyledString or undefined
135861847f8eSopenharmony_ci     * @readonly
135961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
136061847f8eSopenharmony_ci     * @crossplatform
136161847f8eSopenharmony_ci     * @atomicservice
136261847f8eSopenharmony_ci     * @since 12
136361847f8eSopenharmony_ci     */
136461847f8eSopenharmony_ci    readonly verticalAlign?: ImageSpanAlignment;
136561847f8eSopenharmony_ci
136661847f8eSopenharmony_ci    /**
136761847f8eSopenharmony_ci     * Get the imageFit of the StyledString.
136861847f8eSopenharmony_ci     *
136961847f8eSopenharmony_ci     * @type { ?ImageFit } - the imageFit of the StyledString or undefined
137061847f8eSopenharmony_ci     * @readonly
137161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
137261847f8eSopenharmony_ci     * @crossplatform
137361847f8eSopenharmony_ci     * @atomicservice
137461847f8eSopenharmony_ci     * @since 12
137561847f8eSopenharmony_ci     */
137661847f8eSopenharmony_ci    readonly objectFit?: ImageFit;
137761847f8eSopenharmony_ci
137861847f8eSopenharmony_ci    /**
137961847f8eSopenharmony_ci     * Get the imageAttachmentLayoutStyle of the StyledString.
138061847f8eSopenharmony_ci     *
138161847f8eSopenharmony_ci     * @type { ?ImageAttachmentLayoutStyle } - the imageAttachmentLayoutStyle of the StyledString or undefined
138261847f8eSopenharmony_ci     * @readonly
138361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
138461847f8eSopenharmony_ci     * @crossplatform
138561847f8eSopenharmony_ci     * @atomicservice
138661847f8eSopenharmony_ci     * @since 12
138761847f8eSopenharmony_ci     */
138861847f8eSopenharmony_ci    readonly layoutStyle?: ImageAttachmentLayoutStyle;
138961847f8eSopenharmony_ci}
139061847f8eSopenharmony_ci
139161847f8eSopenharmony_ci/**
139261847f8eSopenharmony_ci * Defines the ImageAttachmentInterface.
139361847f8eSopenharmony_ci *
139461847f8eSopenharmony_ci * @interface ImageAttachmentInterface
139561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
139661847f8eSopenharmony_ci * @crossplatform
139761847f8eSopenharmony_ci * @atomicservice
139861847f8eSopenharmony_ci * @since 12
139961847f8eSopenharmony_ci */
140061847f8eSopenharmony_cideclare interface ImageAttachmentInterface {
140161847f8eSopenharmony_ci    /**
140261847f8eSopenharmony_ci     * The content of the ImageAttachment.
140361847f8eSopenharmony_ci     *
140461847f8eSopenharmony_ci     * @type { PixelMap }
140561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
140661847f8eSopenharmony_ci     * @crossplatform
140761847f8eSopenharmony_ci     * @atomicservice
140861847f8eSopenharmony_ci     * @since 12
140961847f8eSopenharmony_ci     */
141061847f8eSopenharmony_ci    value: PixelMap;
141161847f8eSopenharmony_ci
141261847f8eSopenharmony_ci    /**
141361847f8eSopenharmony_ci     * Image size.
141461847f8eSopenharmony_ci     *
141561847f8eSopenharmony_ci     * @type { ?SizeOptions }
141661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
141761847f8eSopenharmony_ci     * @crossplatform
141861847f8eSopenharmony_ci     * @atomicservice
141961847f8eSopenharmony_ci     * @since 12
142061847f8eSopenharmony_ci     */
142161847f8eSopenharmony_ci    size?: SizeOptions;
142261847f8eSopenharmony_ci
142361847f8eSopenharmony_ci    /**
142461847f8eSopenharmony_ci     * Image vertical align.
142561847f8eSopenharmony_ci     *
142661847f8eSopenharmony_ci     * @type { ?ImageSpanAlignment }
142761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
142861847f8eSopenharmony_ci     * @crossplatform
142961847f8eSopenharmony_ci     * @atomicservice
143061847f8eSopenharmony_ci     * @since 12
143161847f8eSopenharmony_ci     */
143261847f8eSopenharmony_ci    verticalAlign?: ImageSpanAlignment;
143361847f8eSopenharmony_ci
143461847f8eSopenharmony_ci    /**
143561847f8eSopenharmony_ci     * Image fit.
143661847f8eSopenharmony_ci     *
143761847f8eSopenharmony_ci     * @type { ?ImageFit }
143861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
143961847f8eSopenharmony_ci     * @crossplatform
144061847f8eSopenharmony_ci     * @atomicservice
144161847f8eSopenharmony_ci     * @since 12
144261847f8eSopenharmony_ci     */
144361847f8eSopenharmony_ci    objectFit?: ImageFit;
144461847f8eSopenharmony_ci
144561847f8eSopenharmony_ci    /**
144661847f8eSopenharmony_ci     * The Image Layout Style.
144761847f8eSopenharmony_ci     *
144861847f8eSopenharmony_ci     * @type { ?ImageAttachmentLayoutStyle }
144961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
145061847f8eSopenharmony_ci     * @crossplatform
145161847f8eSopenharmony_ci     * @atomicservice
145261847f8eSopenharmony_ci     * @since 12
145361847f8eSopenharmony_ci     */
145461847f8eSopenharmony_ci    layoutStyle?: ImageAttachmentLayoutStyle;
145561847f8eSopenharmony_ci}
145661847f8eSopenharmony_ci
145761847f8eSopenharmony_ci/**
145861847f8eSopenharmony_ci * Defines the  ImageAttachment Layout Style.
145961847f8eSopenharmony_ci *
146061847f8eSopenharmony_ci * @interface ImageAttachmentLayoutStyle
146161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
146261847f8eSopenharmony_ci * @crossplatform
146361847f8eSopenharmony_ci * @atomicservice
146461847f8eSopenharmony_ci * @since 12
146561847f8eSopenharmony_ci */
146661847f8eSopenharmony_cideclare interface ImageAttachmentLayoutStyle {
146761847f8eSopenharmony_ci    /**
146861847f8eSopenharmony_ci     * Outer Margin.
146961847f8eSopenharmony_ci     *
147061847f8eSopenharmony_ci     * @type { ?(LengthMetrics | Margin) }
147161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
147261847f8eSopenharmony_ci     * @crossplatform
147361847f8eSopenharmony_ci     * @atomicservice
147461847f8eSopenharmony_ci     * @since 12
147561847f8eSopenharmony_ci     */
147661847f8eSopenharmony_ci    margin?: LengthMetrics | Margin;
147761847f8eSopenharmony_ci
147861847f8eSopenharmony_ci    /**
147961847f8eSopenharmony_ci     * Inner margin.
148061847f8eSopenharmony_ci     *
148161847f8eSopenharmony_ci     * @type { ?(LengthMetrics | Padding) }
148261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
148361847f8eSopenharmony_ci     * @crossplatform
148461847f8eSopenharmony_ci     * @atomicservice
148561847f8eSopenharmony_ci     * @since 12
148661847f8eSopenharmony_ci     */
148761847f8eSopenharmony_ci    padding?: LengthMetrics | Padding;
148861847f8eSopenharmony_ci
148961847f8eSopenharmony_ci    /**
149061847f8eSopenharmony_ci     * Border radius.
149161847f8eSopenharmony_ci     *
149261847f8eSopenharmony_ci     * @type { ?(LengthMetrics | BorderRadiuses) }
149361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
149461847f8eSopenharmony_ci     * @crossplatform
149561847f8eSopenharmony_ci     * @atomicservice
149661847f8eSopenharmony_ci     * @since 12
149761847f8eSopenharmony_ci     */
149861847f8eSopenharmony_ci    borderRadius?: LengthMetrics | BorderRadiuses;
149961847f8eSopenharmony_ci}
150061847f8eSopenharmony_ci
150161847f8eSopenharmony_ci/**
150261847f8eSopenharmony_ci * Defines the CustomSpanMetrics interface.
150361847f8eSopenharmony_ci *
150461847f8eSopenharmony_ci * @interface CustomSpanMetrics
150561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
150661847f8eSopenharmony_ci * @crossplatform
150761847f8eSopenharmony_ci * @atomicservice
150861847f8eSopenharmony_ci * @since 12
150961847f8eSopenharmony_ci */
151061847f8eSopenharmony_cideclare interface CustomSpanMetrics {
151161847f8eSopenharmony_ci    /**
151261847f8eSopenharmony_ci     * CustomSpan Width.
151361847f8eSopenharmony_ci     * The unit is vp.
151461847f8eSopenharmony_ci     *
151561847f8eSopenharmony_ci     * @type { number }
151661847f8eSopenharmony_ci     * @default 0
151761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
151861847f8eSopenharmony_ci     * @crossplatform
151961847f8eSopenharmony_ci     * @atomicservice
152061847f8eSopenharmony_ci     * @since 12
152161847f8eSopenharmony_ci     */
152261847f8eSopenharmony_ci    width: number;
152361847f8eSopenharmony_ci
152461847f8eSopenharmony_ci    /**
152561847f8eSopenharmony_ci     * CustomSpan Height.
152661847f8eSopenharmony_ci     * The unit is vp.
152761847f8eSopenharmony_ci     *
152861847f8eSopenharmony_ci     * @type { ?number }
152961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
153061847f8eSopenharmony_ci     * @crossplatform
153161847f8eSopenharmony_ci     * @atomicservice
153261847f8eSopenharmony_ci     * @since 12
153361847f8eSopenharmony_ci     */
153461847f8eSopenharmony_ci    height?: number;
153561847f8eSopenharmony_ci}
153661847f8eSopenharmony_ci
153761847f8eSopenharmony_ci/**
153861847f8eSopenharmony_ci * Defines the CustomSpanDrawInfo interface.
153961847f8eSopenharmony_ci *
154061847f8eSopenharmony_ci * @interface CustomSpanDrawInfo
154161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
154261847f8eSopenharmony_ci * @crossplatform
154361847f8eSopenharmony_ci * @atomicservice
154461847f8eSopenharmony_ci * @since 12
154561847f8eSopenharmony_ci */
154661847f8eSopenharmony_cideclare interface CustomSpanDrawInfo {
154761847f8eSopenharmony_ci    /**
154861847f8eSopenharmony_ci     * CustomSpan's offset relative to the parent component.
154961847f8eSopenharmony_ci     * The unit is px.
155061847f8eSopenharmony_ci     * 
155161847f8eSopenharmony_ci     * @type { number }
155261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
155361847f8eSopenharmony_ci     * @crossplatform
155461847f8eSopenharmony_ci     * @atomicservice
155561847f8eSopenharmony_ci     * @since 12
155661847f8eSopenharmony_ci     */
155761847f8eSopenharmony_ci    x: number;
155861847f8eSopenharmony_ci
155961847f8eSopenharmony_ci    /**
156061847f8eSopenharmony_ci     * The top position of the line where customSpan is located.
156161847f8eSopenharmony_ci     * The unit is px.
156261847f8eSopenharmony_ci     * 
156361847f8eSopenharmony_ci     * @type { number }
156461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
156561847f8eSopenharmony_ci     * @crossplatform
156661847f8eSopenharmony_ci     * @atomicservice
156761847f8eSopenharmony_ci     * @since 12
156861847f8eSopenharmony_ci     */
156961847f8eSopenharmony_ci    lineTop: number;
157061847f8eSopenharmony_ci
157161847f8eSopenharmony_ci    /**
157261847f8eSopenharmony_ci     * The bottom position of the line where customSpan is located.
157361847f8eSopenharmony_ci     * The unit is px.
157461847f8eSopenharmony_ci     * 
157561847f8eSopenharmony_ci     * @type { number }
157661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
157761847f8eSopenharmony_ci     * @crossplatform
157861847f8eSopenharmony_ci     * @atomicservice
157961847f8eSopenharmony_ci     * @since 12
158061847f8eSopenharmony_ci     */
158161847f8eSopenharmony_ci    lineBottom: number;
158261847f8eSopenharmony_ci
158361847f8eSopenharmony_ci    /**
158461847f8eSopenharmony_ci     * The baseline offset of the line where customSpan is located.
158561847f8eSopenharmony_ci     * The unit is px.
158661847f8eSopenharmony_ci     * 
158761847f8eSopenharmony_ci     * @type { number }
158861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
158961847f8eSopenharmony_ci     * @crossplatform
159061847f8eSopenharmony_ci     * @atomicservice
159161847f8eSopenharmony_ci     * @since 12
159261847f8eSopenharmony_ci     */
159361847f8eSopenharmony_ci    baseline: number;
159461847f8eSopenharmony_ci}
159561847f8eSopenharmony_ci
159661847f8eSopenharmony_ci/**
159761847f8eSopenharmony_ci * Defines the CustomSpanMeasureInfo interface.
159861847f8eSopenharmony_ci *
159961847f8eSopenharmony_ci * @interface CustomSpanMeasureInfo
160061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
160161847f8eSopenharmony_ci * @crossplatform
160261847f8eSopenharmony_ci * @atomicservice
160361847f8eSopenharmony_ci * @since 12
160461847f8eSopenharmony_ci */
160561847f8eSopenharmony_cideclare interface CustomSpanMeasureInfo {
160661847f8eSopenharmony_ci    /**
160761847f8eSopenharmony_ci     * Current component's fontSize value.
160861847f8eSopenharmony_ci     * The unit is fp.
160961847f8eSopenharmony_ci     * 
161061847f8eSopenharmony_ci     * @type { number }
161161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
161261847f8eSopenharmony_ci     * @crossplatform
161361847f8eSopenharmony_ci     * @atomicservice
161461847f8eSopenharmony_ci     * @since 12
161561847f8eSopenharmony_ci     */
161661847f8eSopenharmony_ci    fontSize: number;
161761847f8eSopenharmony_ci}
161861847f8eSopenharmony_ci
161961847f8eSopenharmony_ci/**
162061847f8eSopenharmony_ci * Defines CustomSpan.
162161847f8eSopenharmony_ci *
162261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
162361847f8eSopenharmony_ci * @crossplatform
162461847f8eSopenharmony_ci * @atomicservice
162561847f8eSopenharmony_ci * @since 12
162661847f8eSopenharmony_ci */
162761847f8eSopenharmony_cideclare abstract class CustomSpan {
162861847f8eSopenharmony_ci    /**
162961847f8eSopenharmony_ci     * Measure the size of custom span.
163061847f8eSopenharmony_ci     *
163161847f8eSopenharmony_ci     * @param { CustomSpanMeasureInfo } measureInfo
163261847f8eSopenharmony_ci     * @returns { CustomSpanMetrics } - CustomSpan Size
163361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
163461847f8eSopenharmony_ci     * @crossplatform
163561847f8eSopenharmony_ci     * @atomicservice
163661847f8eSopenharmony_ci     * @since 12
163761847f8eSopenharmony_ci     */
163861847f8eSopenharmony_ci    abstract onMeasure(measureInfo: CustomSpanMeasureInfo) : CustomSpanMetrics;
163961847f8eSopenharmony_ci
164061847f8eSopenharmony_ci    /**
164161847f8eSopenharmony_ci     * Draw the custom span.
164261847f8eSopenharmony_ci     *
164361847f8eSopenharmony_ci     * @param { DrawContext } context
164461847f8eSopenharmony_ci     * @param { CustomSpanDrawInfo } drawInfo
164561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
164661847f8eSopenharmony_ci     * @crossplatform
164761847f8eSopenharmony_ci     * @atomicservice
164861847f8eSopenharmony_ci     * @since 12
164961847f8eSopenharmony_ci     */
165061847f8eSopenharmony_ci    abstract onDraw(context: DrawContext, drawInfo: CustomSpanDrawInfo): void;
165161847f8eSopenharmony_ci
165261847f8eSopenharmony_ci    /**
165361847f8eSopenharmony_ci     * Invalidate all components that use the object, which will cause a re-render of all components.
165461847f8eSopenharmony_ci     *
165561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
165661847f8eSopenharmony_ci     * @crossplatform
165761847f8eSopenharmony_ci     * @atomicservice
165861847f8eSopenharmony_ci     * @since 13
165961847f8eSopenharmony_ci     */
166061847f8eSopenharmony_ci    invalidate(): void;
166161847f8eSopenharmony_ci}
166261847f8eSopenharmony_ci
166361847f8eSopenharmony_ci/**
166461847f8eSopenharmony_ci * Defines UserDataSpan. Used to store and obtain user data.
166561847f8eSopenharmony_ci *
166661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
166761847f8eSopenharmony_ci * @crossplatform
166861847f8eSopenharmony_ci * @atomicservice
166961847f8eSopenharmony_ci * @since 12
167061847f8eSopenharmony_ci */
167161847f8eSopenharmony_cideclare abstract class UserDataSpan {}