import { Font, Color, LogicalSize, LogicalPos, LogicalCursorPos, LogicalMargin, LogicalBorderColor, LogicalBorderStyle, LogicalBorderWidth, LogicalBorderRadius, LogicalPadding, LogicalBackgroundPos, WritingMode, NativeStyleMap, CssStyleDeclaration } from './public-api';
export interface ILogicalCssEvaluator {
    visitFont: (font: Font) => NativeStyleMap;
    visitColor: (color: Color) => NativeStyleMap;
    visitSize: (size: LogicalSize) => NativeStyleMap;
    visitPos: (pos: LogicalCursorPos) => NativeStyleMap;
    visitLogicalPos: (pos: LogicalPos) => NativeStyleMap;
    visitLogicalMargin: (margin: LogicalMargin) => NativeStyleMap;
    visitLogicalBorderColor: (borderColor: LogicalBorderColor) => NativeStyleMap;
    visitLogicalBorderWidth: (borderWidth: LogicalBorderWidth) => NativeStyleMap;
    visitLogicalBorderStyle: (borderStyle: LogicalBorderStyle) => NativeStyleMap;
    visitLogicalBorderRadius: (borderRadius: LogicalBorderRadius, width: LogicalBorderWidth) => NativeStyleMap;
    visitLogicalPadding: (pading: LogicalPadding) => NativeStyleMap;
    visitBackgroundPos: (backgroundPos: LogicalBackgroundPos) => NativeStyleMap;
    visitUnmanagedCssProps: (style: CssStyleDeclaration) => NativeStyleMap;
}
export declare class LogicalCssEvaluator implements ILogicalCssEvaluator {
    writingMode: WritingMode;
    constructor(writingMode: WritingMode);
    visitUnmanagedCssProps(style: CssStyleDeclaration): NativeStyleMap;
    visitFont(font: Font): NativeStyleMap;
    visitColor(color: Color): NativeStyleMap;
    private visitSizeHori;
    private visitSizeVert;
    visitSize(size: LogicalSize): NativeStyleMap;
    private visitPosHori;
    private visitPosVertLtr;
    private visitPosVertRtl;
    visitPos(pos: LogicalCursorPos): NativeStyleMap;
    visitBackgroundPos(backgroundPos: LogicalBackgroundPos): NativeStyleMap;
    visitLogicalMargin(margin: LogicalMargin): NativeStyleMap;
    visitLogicalPadding(padding: LogicalPadding): NativeStyleMap;
    visitLogicalBorderColor(borderColor: LogicalBorderColor): NativeStyleMap;
    visitLogicalBorderWidth(borderWidth: LogicalBorderWidth): NativeStyleMap;
    visitLogicalBorderStyle(borderStyle: LogicalBorderStyle): NativeStyleMap;
    visitLogicalBorderRadius(borderRadius: LogicalBorderRadius, borderWidth: LogicalBorderWidth): NativeStyleMap;
    visitLogicalPos(pos: LogicalPos): NativeStyleMap;
}
