import { Type } from '@angular/core';
import { IonOUIDirective } from './parsers/ion-oui.directive';
import { OUIIonElement } from "./oui-element";
import { OUIDefaultClickListener } from './o-ui';
export interface OUIIonParser {
    type: string;
    componentType: Type<OUIIonElement>;
    parse(data: {
        [k: string]: any;
    }, ouiHost: IonOUIDirective, clickHandler?: OUIDefaultClickListener, options?: any): OUIIonElement;
    export(element: OUIIonElement): {
        [k: string]: any;
    };
}
export declare abstract class OUIAbstractIonParser implements OUIIonParser {
    abstract type: string;
    abstract componentType: Type<OUIIonElement>;
    parse(data: {
        [k: string]: any;
    }, ouiHost: IonOUIDirective, clickHandler?: OUIDefaultClickListener, options?: any): OUIIonElement;
    export(element: OUIIonElement): {
        [k: string]: any;
    };
}
