import * as React from 'react'; import { IClassNameWrapper, IFactorWrapper, IFullWrapper, IItemsWrapper, IKeyValue, ILayoutWrapper, IStyleWrapper } from '../definitions.interface'; /** * @enum * @stable [23.01.2020] */ export declare enum LayoutTypesEnum { HORIZONTAL = 0, VERTICAL = 1 } /** * @enum * @stable [23.01.2020] */ export declare enum LayoutFactorsEnum { FACTOR_0_25 = 0, FACTOR_0_30 = 1, FACTOR_0_5 = 2, FACTOR_0_70 = 3, FACTOR_0_75 = 4, FACTOR_0_85 = 5, FACTOR_1 = 6, FACTOR_2 = 7, FACTOR_4 = 8, FACTOR_8 = 9 } /** * @stable [23.01.2020] */ export declare type UniversalLayoutBuilderChildrenT = IUniversalLayoutBuilderConfigEntity | TNode; /** * @stable [06.04.2020] */ export declare type LayoutBuilderChildrenNodeT = JSX.Element; /** * @stable [23.01.2020] */ export declare type LayoutBuilderChildrenT = UniversalLayoutBuilderChildrenT; /** * @config-entity * @stable [23.01.2020] */ export interface IUniversalLayoutBuilderConfigEntity extends IItemsWrapper>>, IClassNameWrapper, IFactorWrapper, IFullWrapper, ILayoutWrapper, IStyleWrapper { } /** * @config-entity * @stable [23.01.2020] */ export interface ILayoutBuilderConfigEntity extends IUniversalLayoutBuilderConfigEntity { } /** * @props * @stable [23.01.2020] */ export interface IUniversalLayoutProps extends React.Attributes { } /** * @service * @stable [23.01.2020] */ export interface IUniversalLayoutViewBuilder { buildColumnView(props: TProps, children: Array>, layoutConfig: IUniversalLayoutBuilderConfigEntity): TNode; buildRowView(props: TProps, children: Array>, layoutConfig: IUniversalLayoutBuilderConfigEntity): TNode; cloneItem(item: TNode, props: TProps): TNode; getClonedItemProps(item: TNode, layoutConfig: IUniversalLayoutBuilderConfigEntity, props: TProps): TProps; isClonedItem(item: UniversalLayoutBuilderChildrenT): boolean; } /** * @service * @stable [23.01.2020] */ export interface ILayoutViewBuilder extends IUniversalLayoutViewBuilder, {}>> { }