import { OUIIonCardParser } from './parsers/card';
import { OUIIonFutureViewComponentParser } from './parsers/future-view';
import { FormControl, FormGroup } from '@angular/forms';
import { OUIIonListTileParser } from './parsers/list-tile';
import { OUIIonImageViewParser } from './parsers/image';
import { OUIIonPaddingComponentParser } from './parsers/padding';
import { OUIIonColumnComponentParser, OUIIonExpandedParser, OUIIonFlexibleParser, OUIIonRowComponentParser } from './parsers/flex';
import { AppBarParser } from './parsers/app-bar';
import { IonOUIDirective } from './parsers/ion-oui.directive';
import { OUIClickHandler, OUIIonClickEvent } from './oui-click-handler';
import { OUIIonParser } from './oui-parser';
import { OUIIonRootParser, OUIIonScrollableParser } from './parsers/root';
import { OUIIonTextParser, OUIIonDynamicTextParser } from './parsers/text';
import { OUIIonContainerParser } from './parsers/container';
import { OUIIonFormCheckboxParser, OUIIonFormDropdownParser, OUIIonFormParser, OUIIonFormSliderParser, OUIIonFormSwitchParser, OUIIonFormTextFieldParser, UIIonFormDatetimeParser } from './parsers/forms/form';
import { OUIIonElevatedParser, OUIIonOButtonParser, OUIIonOutlinedParser, OUIIonTextButtonParser } from './parsers/buttons';
import { OUIIonElement } from './oui-element';
import { OUIIonQrCodeParser } from './parsers/qr-code';
import { MEvento } from './mevento';
import { OUIIonStatedParser } from './parsers/stated';
import { OUIIonIconParser } from './parsers/icon';
import { OUIIonCenterParser } from './parsers/center';
export declare class StateHolder {
    _tmp: any;
    get data(): any;
    constructor(value: any);
    getValue(key: string): any;
    setValue(key: string, value: any): void;
}
export declare class OGlobalFormState {
    _forms: {
        [key: string]: FormGroup;
    };
    currentFormId?: string;
    form(id?: string): FormGroup<any> | undefined;
    set(id: string, state: FormGroup): void;
    addField(name: string, field: FormControl): void;
}
export declare class OUIIon {
    private static settedUp;
    private static _serverURL;
    private static _multiMediaServerURL;
    private static appId;
    private static states;
    static simulation: boolean;
    static parsers: {
        [k: string]: OUIIonParser;
    };
    static get MM_SERVER(): string;
    static defaultParsers: (OUIIonCardParser | OUIIonFutureViewComponentParser | OUIIonListTileParser | OUIIonImageViewParser | OUIIonPaddingComponentParser | OUIIonRowComponentParser | OUIIonColumnComponentParser | OUIIonExpandedParser | OUIIonFlexibleParser | AppBarParser | OUIIonRootParser | OUIIonScrollableParser | OUIIonTextParser | OUIIonDynamicTextParser | OUIIonContainerParser | OUIIonFormParser | OUIIonFormTextFieldParser | UIIonFormDatetimeParser | OUIIonFormSwitchParser | OUIIonFormCheckboxParser | OUIIonFormDropdownParser | OUIIonFormSliderParser | OUIIonTextButtonParser | OUIIonElevatedParser | OUIIonOutlinedParser | OUIIonOButtonParser | OUIIonQrCodeParser | OUIIonStatedParser | OUIIonIconParser | OUIIonCenterParser)[];
    static addParser(parser: OUIIonParser): void;
    static init(options?: {
        serverUrl: string;
        appId: string;
        _multiMediaServerURL?: string;
    }): void;
    static build(page: UIPage, context: IonOUIDirective, listener?: OUIClickHandler, options?: any): void;
    static buildComponent(data: {
        [k: string]: any;
    }, ouiHost: IonOUIDirective, clickHandler?: OUIDefaultClickListener, options?: any): OUIIonElement | null;
    static buildComponents(data: {
        [k: string]: any;
    }[], ouiHost: IonOUIDirective, clickHandler?: OUIDefaultClickListener, options?: any): OUIIonElement[];
}
declare class UIPage {
    code: string;
    name: string;
    icon?: string;
    description?: string;
    tag?: string;
    version: string;
    build: number;
    uiData: string;
    updatedAt?: string;
    constructor(data: {
        code: string;
        name: string;
        description?: string;
        tag?: string;
        version: string;
        build: number;
        uiData: string;
        updatedAt?: string;
        icon: string;
    });
    static parse(map: any): UIPage;
    toMap(): string;
}
export declare class UIPageState {
    page: UIPage;
    state: StateHolder;
    formStates?: OGlobalFormState;
    constructor(page: UIPage, state: StateHolder, formStates?: OGlobalFormState);
}
export declare class OUIDefaultClickListener implements OUIClickHandler {
    externalHandler?: OUIClickHandler;
    vm: MEvento;
    page?: UIPageState;
    constructor(state?: UIPageState, handler?: OUIClickHandler);
    onClick(event: OUIIonClickEvent): void;
}
export {};
