import { Color } from '../../../color';
import { Font, FontStyleType, FontWeightType, FontVariationSettingsType } from '../font';
import { Background } from '../background';
import { ViewBase } from '../../core/view-base';
import { LinearGradient } from '../../styling/linear-gradient';
import { Observable } from '../../../data/observable';
import { FlexDirection, FlexWrap, JustifyContent, AlignItems, AlignContent, Order, FlexGrow, FlexShrink, FlexWrapBefore, AlignSelf, FlexFlow, Flex } from '../../layouts/flexbox-layout';
import { CoreTypes } from '../../../core-types';
import { AccessibilityLiveRegion, AccessibilityRole, AccessibilityState } from '../../../accessibility';
import { ShadowCSSValues } from '../css-shadow';
import { StrokeCSSValues } from '../css-stroke';
import { ClipPathFunction } from '../clip-path-function';
export interface CommonLayoutParams {
    width: number;
    height: number;
    widthPercent: number;
    heightPercent: number;
    leftMargin: number;
    topMargin: number;
    rightMargin: number;
    bottomMargin: number;
    leftMarginPercent: number;
    topMarginPercent: number;
    rightMarginPercent: number;
    bottomMarginPercent: number;
    horizontalAlignment: CoreTypes.HorizontalAlignmentType;
    verticalAlignment: CoreTypes.VerticalAlignmentType;
}
export declare class Style extends Observable {
    private unscopedCssVariables;
    private scopedCssVariables;
    constructor(ownerView: ViewBase | WeakRef<ViewBase>);
    setScopedCssVariable(varName: string, value: string): void;
    setUnscopedCssVariable(varName: string, value: string): void;
    removeScopedCssVariable(varName: string): void;
    removeUnscopedCssVariable(varName: string): void;
    getCssVariable(varName: string): string | null;
    resetScopedCssVariables(): void;
    resetUnscopedCssVariables(): void;
    toString(): string;
    fontInternal: Font;
    iconFontFamily: string;
    /**
     * This property ensures inheritance of a11y scale among views.
     */
    fontScaleInternal: number;
    backgroundInternal: Background;
    rotate: number;
    rotateX: number;
    rotateY: number;
    perspective: number;
    scaleX: number;
    scaleY: number;
    translateX: CoreTypes.dip;
    translateY: CoreTypes.dip;
    clipPath: string | ClipPathFunction;
    color: Color;
    tintColor: Color;
    placeholderColor: Color;
    background: string;
    backgroundColor: Color;
    backgroundImage: string | LinearGradient;
    backgroundRepeat: CoreTypes.BackgroundRepeatType;
    backgroundSize: string;
    backgroundPosition: string;
    borderColor: string | Color;
    borderTopColor: Color;
    borderRightColor: Color;
    borderBottomColor: Color;
    borderLeftColor: Color;
    borderWidth: string | CoreTypes.LengthType;
    borderTopWidth: CoreTypes.LengthType;
    borderRightWidth: CoreTypes.LengthType;
    borderBottomWidth: CoreTypes.LengthType;
    borderLeftWidth: CoreTypes.LengthType;
    borderRadius: string | CoreTypes.LengthType;
    borderTopLeftRadius: CoreTypes.LengthType;
    borderTopRightRadius: CoreTypes.LengthType;
    borderBottomRightRadius: CoreTypes.LengthType;
    borderBottomLeftRadius: CoreTypes.LengthType;
    boxShadow: string | ShadowCSSValues[];
    direction: CoreTypes.LayoutDirectionType;
    fontSize: number;
    fontFamily: string;
    fontStyle: FontStyleType;
    fontWeight: FontWeightType;
    fontVariationSettings: FontVariationSettingsType[];
    font: string;
    maxLines: CoreTypes.MaxLinesType;
    androidElevation: number;
    androidDynamicElevationOffset: number;
    zIndex: number;
    opacity: number;
    visibility: CoreTypes.VisibilityType;
    letterSpacing: number;
    lineHeight: number;
    textAlignment: CoreTypes.TextAlignmentType;
    textDecoration: CoreTypes.TextDecorationType;
    textTransform: CoreTypes.TextTransformType;
    textShadow: ShadowCSSValues;
    textStroke: StrokeCSSValues;
    whiteSpace: CoreTypes.WhiteSpaceType;
    textOverflow: CoreTypes.TextOverflowType;
    minWidth: CoreTypes.LengthType;
    minHeight: CoreTypes.LengthType;
    width: CoreTypes.PercentLengthType;
    height: CoreTypes.PercentLengthType;
    margin: string | CoreTypes.PercentLengthType;
    marginLeft: CoreTypes.PercentLengthType;
    marginTop: CoreTypes.PercentLengthType;
    marginRight: CoreTypes.PercentLengthType;
    marginBottom: CoreTypes.PercentLengthType;
    padding: string | CoreTypes.LengthType;
    paddingLeft: CoreTypes.LengthType;
    paddingTop: CoreTypes.LengthType;
    paddingRight: CoreTypes.LengthType;
    paddingBottom: CoreTypes.LengthType;
    horizontalAlignment: CoreTypes.HorizontalAlignmentType;
    verticalAlignment: CoreTypes.VerticalAlignmentType;
    tabTextFontSize: number;
    tabTextColor: Color;
    tabBackgroundColor: Color;
    selectedTabTextColor: Color;
    androidSelectedTabHighlightColor: Color;
    separatorColor: Color;
    selectedBackgroundColor: Color;
    selectedTextColor: Color;
    statusBarStyle: 'light' | 'dark';
    androidStatusBarBackground: Color;
    androidContentInset: string | CoreTypes.LengthType;
    androidContentInsetLeft: CoreTypes.LengthType;
    androidContentInsetRight: CoreTypes.LengthType;
    flexDirection: FlexDirection;
    flexWrap: FlexWrap;
    justifyContent: JustifyContent;
    alignItems: AlignItems;
    alignContent: AlignContent;
    order: Order;
    flexGrow: FlexGrow;
    flexShrink: FlexShrink;
    flexWrapBefore: FlexWrapBefore;
    alignSelf: AlignSelf;
    flexFlow: FlexFlow;
    flex: Flex;
    accessible: boolean;
    accessibilityHidden: boolean;
    accessibilityRole: AccessibilityRole;
    accessibilityState: AccessibilityState;
    accessibilityLiveRegion: AccessibilityLiveRegion;
    accessibilityLanguage: string;
    accessibilityMediaSession: boolean;
    accessibilityStep: number;
    iosAccessibilityAdjustsFontSize: boolean;
    iosAccessibilityMinFontScale: number;
    iosAccessibilityMaxFontScale: number;
    PropertyBag: {
        new (): {
            [property: string]: string;
        };
        prototype: {
            [property: string]: string;
        };
    };
    viewRef: WeakRef<ViewBase>;
    get view(): ViewBase;
}
