export declare class TextAttributes {
    bold: boolean;
    italic: boolean;
    underline: boolean;
    numberOfLines: number;
    textAlignment: TextAlignment;
    textColor: Color;
}
export interface Textish {
}
export declare abstract class Spec {
    protected nodeChildDict: Object;
    constructor(node?: Node);
}
export declare abstract class Component extends Spec {
    private _backgroundColor;
    private _binding;
    private _id;
    private _layout;
    private _padding;
    private _parentContainer;
    protected _textAttributes: TextAttributes;
    private _actualHeights;
    private _actualWidths;
    private _actualX;
    private _actualY;
    private _height;
    private _width;
    private _x;
    private _y;
    constructor(parentContainer: Container, node?: Node, overrideLayout?: Layout);
    initComponentWith(overrideLayout?: Layout): void;
    readonly backgroundColor: Color;
    readonly binding: Binding;
    readonly id: string;
    readonly layout: Layout;
    readonly padding: Edges;
    readonly actualHeights: Array<number>;
    readonly actualWidths: Array<number>;
    readonly actualX: number;
    readonly actualY: number;
    readonly height: number;
    readonly parentContainer: Container;
    readonly textAttributes: TextAttributes;
    readonly width: number;
    readonly x: number;
    readonly y: number;
}
export declare abstract class Container extends Component {
    private _children;
    private _containerWidth;
    constructor(parentContainer: Container, node?: Node, overrideContainerWidth?: number);
    readonly children: Array<Component>;
    readonly containerWidth: number;
    protected assignChildren(c: Array<Component>): void;
    protected assignContainerWidth(width: number): void;
    protected assignParentWidth(parentWidth: number): void;
    protected calcAndAssignContainerWidth(parentContainer: Container): void;
    initContainerWith(overrideLayout?: Layout, overideChildren?: Array<Component>): void;
}
export declare abstract class PrintProperty extends Spec {
    constructor(node: Node);
}
/**
 * *********************************
 */
export declare enum AspectMode {
    None = 0,
    Fit = 1,
    Fill = 2
}
export declare enum BindingType {
    Data = 0,
    Meta = 1
}
export declare enum FormMode {
    Display = 0,
    Edit = 1
}
export declare enum ResizeMode {
    Stretch = 0,
    Tile = 1
}
export declare enum RichNumUsage {
    Undefined = 0,
    Absolute = 1,
    FillParent = 2,
    PercentOfParent = 3
}
export declare enum RichNumUsageRef {
    Undefined = 0,
    Absolute = 1,
    FillParent = 2,
    HorizontalCenter = 3,
    HorizontalLeft = 4,
    HorizontalRight = 5,
    PercentOfParent = 6,
    Remainder = 7,
    VerticalBottom = 8,
    VerticalCenter = 9,
    VerticalTop = 10
}
export declare enum TextAlignmentUsage {
    Left = 0,
    Center = 1,
    Right = 2
}
export declare enum ValuePlacement {
    absolute = 0,
    none = 1
}
export declare enum ValueType {
    Undefined = 0,
    Boolean = 1,
    Date = 2,
    DateTime = 3,
    Decimal = 4,
    Float = 5,
    Integer = 6,
    LargeBinary = 7,
    LargeString = 8,
    String = 9,
    Time = 10
}
export declare class Binding extends PrintProperty {
    private _path;
    private _type;
    constructor(node: Node);
    readonly constantValue: any;
    readonly hasAction: boolean;
    readonly hasConstant: boolean;
    readonly path: string;
    readonly propertyName: string;
    readonly type: BindingType;
}
export declare class Button extends Component {
    private _aspectMode;
    private _capInsets;
    private _resizeMode;
    private _urlString;
    private _enabledInReadMode;
    constructor(parentContainer: Container, node: Node);
    readonly aspectMode: AspectMode;
    readonly capInsets: Edges;
    readonly resizeMode: ResizeMode;
    readonly urlString: string;
    readonly enableInReadMode: boolean;
}
export declare class CaptureBounds extends PrintProperty {
    private _height;
    _width: RichNum;
    constructor(node: Node);
    readonly height: RichNum;
    readonly width: RichNum;
}
export declare class PrintCell extends Container {
    private _borderColor;
    private _borderWidths;
    private _grid;
    constructor(parentContainer: Container, node?: Node);
    readonly borderColor: Color;
    readonly borderWidths: Edges;
    readonly cellHeight: number;
    readonly cellWidth: number;
    readonly componentChildren: Array<Component>;
    readonly gridChildren: Array<Grid>;
    initCellWith(overrideLayout?: Layout, overrideChildren?: Array<Component>): void;
    protected calcAndAssignContainerWidth(parentContainer: Container): void;
}
export declare class Checkbox extends Component {
    private _checkedColor;
    private _entrySeq;
    private _lineColor;
    private _lineWidth;
    private _radioGroup;
    private _uncheckedColor;
    constructor(parentContainer: Container, node: Node);
    readonly checkedColor: Color;
    readonly entrySeq: number;
    readonly lineColor: Color;
    readonly lineWidth: number;
    readonly radioGroup: string;
    readonly uncheckedColor: Color;
}
export declare class Color extends Spec {
    static WHITE(): Color;
    static BLACK(): Color;
    private _red;
    _green: number;
    _blue: number;
    _alpha: number;
    constructor(node: Node, red?: number, green?: number, blue?: number, alpha?: number);
    readonly alpha: number;
    readonly red: number;
    readonly green: number;
    readonly blue: number;
}
export declare class DatePicker extends Component implements Textish {
    private _entrySeq;
    constructor(parentContainer: Container, node: Node);
    getTextAttributes(): TextAttributes;
    readonly entrySeq: number;
}
export declare class Edges extends Spec {
    private _top;
    _left: number;
    _bottom: number;
    _right: number;
    constructor(node?: Node);
    initEdgesWith(top?: number, left?: number, bottom?: number, right?: number): void;
    readonly top: number;
    readonly left: number;
    readonly bottom: number;
    readonly right: number;
}
export declare class PrintForm extends Container {
    static fromXMLString(xmlString: string): PrintForm;
    private _hideControlFraming;
    private _hideSaveCancelButtons;
    private _settings;
    constructor(node: Node);
    readonly hideControlFraming: boolean;
    readonly hideSaveCancelButtons: boolean;
    readonly pageChildren: Page[];
    readonly settings: Settings;
    protected calcAndAssignContainerWidth(parentContainer: Container): void;
}
export declare class Grid extends Container {
    private _cellChildren;
    private _gridLines;
    constructor(parentContainer: Container, node?: Node);
    readonly gridLines: GridLine[];
    private initCells;
    readonly cellChildren: PrintCell[][];
    initGridWith(overrideLayout?: Layout, overrideChildren?: Array<Component>): void;
}
export declare class GridLine {
    start: Point;
    end: Point;
    lineWidth: number;
    constructor(start: Point, end: Point, lineWidth: number);
}
export declare class Point {
    x: number;
    y: number;
    constructor(x: number, y: number);
}
export declare class Image extends Component {
    private _allowAnnotations;
    private _allowPicker;
    private _allowPickOptions;
    private _aspectMode;
    private _capInsets;
    private _resizeMode;
    private _urlString;
    private _captureBounds;
    constructor(parentContainer: Container, node: Node);
    readonly allowAnnotations: boolean;
    readonly allowPicker: boolean;
    readonly allowPickOptions: boolean;
    readonly aspectMode: AspectMode;
    readonly capInsets: Edges;
    readonly resizeMode: ResizeMode;
    readonly urlString: string;
    readonly capatureBounds: CaptureBounds;
}
export declare class Label extends Component implements Textish {
    private _text;
    constructor(parentContainer: Container, node: Node);
    readonly text: string;
}
export declare class Layout extends Spec {
    private _uom;
    private _heights;
    private _widths;
    private _x;
    private _y;
    private _column;
    private _row;
    constructor(node: Node, x?: number, y?: number, width?: number, height?: number, row?: number, col?: number);
    readonly uom: string;
    readonly heights: RichNum[];
    readonly widths: RichNum[];
    readonly x: number;
    readonly y: number;
    readonly column: number;
    readonly row: number;
    singleHeightNum(): number;
    singleHeightRichNum(): RichNum;
    singleWidthNum(): number;
    singleWidthRichNum(): RichNum;
    sumOfHeights(): number;
    sumOfWidths(parentSize: number): number;
}
export declare class Page extends Container {
    constructor(parentContainer: Container, node?: Node);
    readonly gridChildren: Grid[];
    initPageWith(grid: Grid): void;
    protected calcAndAssignContainerWidth(parentContainer: Container): void;
}
export declare class Settings extends Spec {
    private _refreshTimer;
    constructor(node: Node);
    readonly refreshTimer: number;
}
export declare class RichNum {
    private _value;
    private _usage;
    static ZERO: RichNum;
    constructor(_value: number, _usage?: RichNumUsage);
    readonly value: number;
    readonly valueOfPercent: number;
    readonly isNumber: boolean;
    readonly isFillParent: boolean;
    readonly isPercentOfParent: boolean;
    resolveWithFill(n: number): number;
}
export declare class SignatureCapture extends Component {
    private _captureBounds;
    private _lineColor;
    constructor(parentContainer: Container, node: Node);
    readonly captureBounds: CaptureBounds;
    readonly lineColor: Color;
}
export declare class TextAlignment {
    private _usage;
    constructor(_usage: TextAlignmentUsage);
    readonly isCenter: boolean;
    readonly isLeft: boolean;
    readonly isRight: boolean;
}
export declare class TextArea extends Component implements Textish {
    private _entrySeq;
    constructor(parentContainer: Container, node: Node);
    readonly entrySeq: number;
}
export declare class TextField extends Component implements Textish {
    private _entrySeq;
    constructor(parentContainer: Container, node: Node);
    readonly entrySeq: number;
}
export declare class TimePicker extends Component implements Textish {
    private _entrySeq;
    constructor(parentContainer: Container, node: Node);
    readonly entrySeq: number;
}
export declare class ValuePicker extends Component implements Textish {
    private _entrySeq;
    constructor(parentContainer: Container, node: Node);
    readonly entrySeq: number;
}
/**
 * *********************************
 */
/**
 * *********************************
 */
