// For Library Version: 1.149.0 declare namespace sap { namespace fe { /** * Library providing the base functionality of the runtime for SAP Fiori elements for OData V4. */ namespace base { namespace BindingToolkit { /** * A binding expression that evaluates to type T. * * @experimental As of version 1.145.0. */ type BindingToolkitExpression = { } } namespace ClassSupport { /** * Represents the state object of a building block. * * @experimental As of version 1.145.0. */ type BindingInfoHolder = { } /** * Represents the state object of a building block. * * @experimental As of version 1.145.0. */ type ExtendWithObject = { } /** * Returns the properties of a control. * * @experimental As of version 1.145.0. */ type PropertiesOf = { } /** * Represents the state object of a building block. * * @experimental As of version 1.145.0. */ type StateOf = { } /** * Definition of a UI5 aggregation metadata. * * @experimental As of version 1.145.0. */ type UI5AggregationMetadata = { } /** * Definition of a UI5 association metadata. * * @experimental As of version 1.145.0. */ type UI5AssociationMetadata = { } /** * Definition of a UI5 property metadata. * * @experimental As of version 1.145.0. */ type UI5PropertyMetadata = { } } /** * Describes the settings that can be provided to the BuildingBlockBase constructor. */ interface $BuildingBlockBaseSettings extends sap.ui.core.$ControlSettings { /** * The current state value of the component. * This property holds the state data managed by the component, with the type * determined by the generic parameter K. */ state? : /* was: sap.fe.base.ClassSupport.StateOf */ any | sap.ui.base.ManagedObject.PropertyBindingInfo | `{${string}}` /** * Optional content of generic type T. * This property holds the main data or payload for the containing object. * When undefined, it indicates that no content has been set or is available. * The specific type and structure of the content depends on the generic type parameter T. */ content? : sap.ui.core.Element /** * Association to controls / IDs that label this control (see WAI-ARIA attribute aria-labelledby). */ ariaLabelledBy? : sap.ui.core.Control | string } /** * Collection of functions to support the manipulation of UI5 bindings * * @experimental As of version 1.145.0. */ interface BindingToolkit { } /** * Collection of decorators to support the creation of UI5 classes. */ interface ClassSupport { /** * Defines and configures the following aggregation in the control metadata. * * @experimental As of version 1.145.0. * * @returns The decorated property. */ aggregation( /** * The aggregation definition */ aggregationDefinition: sap.fe.base.ClassSupport.UI5AggregationMetadata ): PropertyDecorator /** * Defines and configures the following association in the control metadata. * * @experimental As of version 1.145.0. * * @returns The decorated property */ association( /** * The definition of the association. */ ui5AssociationMetadata: sap.fe.base.ClassSupport.UI5AssociationMetadata ): PropertyDecorator /** * Allows to define a property that holds the control state. * Properties defined with this decorator are automatically bound to the control state when used in JSX. * Arrays need to be bound using the `bindState` function. * * * @experimental As of version 1.145.0. * * @returns A property decorator */ defineState( ): PropertyDecorator /** * Indicates that the following class should define a UI5 control of the specified name. * * @experimental As of version 1.145.0. * * @returns A class decorator that creates a UI5 class out of the TS class */ defineUI5Class( /** * The fully qualified name of the UI5 class */ target: string, /** * Additional inline metadata definition */ metadataDefinition?: Partial ): ClassDecorator /** * Indicates that the property is declared as an event on the control metadata. * * @experimental As of version 1.145.0. * * @returns The decorated property */ event( ): PropertyDecorator /** * Defines in the metadata that this control implements a specific interface. * * @experimental As of version 1.144.0. * * @returns The decorated method */ implementInterface( /** * The name of the implemented interface */ interfaceName: string ): PropertyDecorator /** * Defines the following property as a managed object in the control metadata. * * @experimental As of version 1.145.0. * * @returns The decorated property. */ property( /** * The property definition */ attributeDefinition: sap.fe.base.ClassSupport.UI5PropertyMetadata ): PropertyDecorator } /** * Base class for building blocks. * This contains the low-level functionality of having a content aggregation and handling the rendering * of the content without an actual DOM element. * * The building block also defines a state object that can be used to store the state of the building block. * * Accessibility and classes information are forwarded to the content control. * * This class is not meant to be used directly, it's there for internal use only (and documentation) */ class BuildingBlockBase extends sap.ui.core.Control { /** * Shorthand for the BindingToolkit.bindState function with the current state object. * * @experimental As of version 1.145.0. * * @returns The binding toolkit expression for the state */ bindState( /** * A property in the state object */ path: ): /* was: sap.fe.base.BindingToolkit.BindingToolkitExpression */ any /** * Framework hook for state change handling. * Subclasses can override this method to react to state changes. * * @experimental As of version 1.145.0. */ onStateChange( /** * List of changed property names */ _changedProps: string[] ): void } } } interface IUI5DefineDependencyNames { "sap/fe/base/BindingToolkit" : undefined "sap/fe/base/BuildingBlockBase" : undefined "sap/fe/base/ClassSupport" : undefined "sap/fe/base/library" : undefined } }