import type { UILayer } from "../../layers/UILayer/UILayer"; import { UIColor } from "../../miscellaneous/color/UIColor"; import type { UIColorConfig } from "../../miscellaneous/color/UIColor.Internal"; import { UIInsets } from "../../miscellaneous/insets/UIInsets"; import type { UIInsetsConfig } from "../../miscellaneous/insets/UIInsets.Internal"; import { UITextureView } from "../../miscellaneous/texture/UITextureView"; import type { UITextureConfig } from "../../miscellaneous/texture/UITextureView.Internal"; import { UIElement } from "../UIElement/UIElement"; import type { UINineSliceOptions } from "./UINineSlice.Internal"; import { UINineSliceRegionMode } from "./UINineSlice.Internal"; /** Scalable textured image preserving border regions */ export declare class UINineSlice extends UIElement { /** Texture displayed by this element */ readonly texture: UITextureView; private readonly colorInternal; private readonly sliceBordersInternal; private readonly sliceRegionsInternal; private regionModeInternal; private regionModeDirty; private readonly textureTransform; private readonly sliceBordersVector; private readonly sliceRegionsVector; private lastElementWidth; private lastElementHeight; private textureDimensionsDirty; /** * Creates a new UINineSlice instance. * * Defaults size to texture dimensions if width and height not provided. * * @param layer - Layer containing this element * @param texture - Texture to display * @param options - Configuration options */ constructor(layer: UILayer, texture: UITextureConfig, options?: Partial); /** Multiplicative tint. Alpha channel controls opacity. */ get color(): UIColor; /** Controls how sliceRegions values are interpreted */ get regionMode(): UINineSliceRegionMode; /** Border size in normalized texture coordinates (0 to 1) */ get sliceBorders(): UIInsets; /** Region size. Interpretation depends on regionMode. */ get sliceRegions(): UIInsets; /** Multiplicative tint. Alpha channel controls opacity. */ set color(value: UIColorConfig); /** Controls how sliceRegions values are interpreted */ set regionMode(value: UINineSliceRegionMode); /** Border size in normalized texture coordinates (0 to 1) */ set sliceBorders(value: UIInsetsConfig); /** Region size. Interpretation depends on regionMode. */ set sliceRegions(value: UIInsetsConfig); /** Removes nine slice and frees resources */ destroy(): void; protected setPlaneTransform(): void; private calculateSliceBordersForShader; private calculateSliceRegionsForShader; private checkElementDimensionsDirty; private setElementDimensionsDirtyFalse; private readonly onTextureDimensionsChanged; }