import { Type } from '@angular/core';
import { Widget } from './widget';
import { RecordLimitType, RestrictionMode } from '../common/widget-enums';
import { ChildRecordValue } from './widget-value/child-record-value';
import { ChildRecordComponent } from '../../../sculptor-lib/widgets/child-record/child-record.component';
import { PropertyPanelFieldMetadata } from '../common/property-panel-field';
export declare class ChildRecord extends Widget {
    component?: Type<ChildRecordComponent>;
    value: Array<ChildRecordValue>;
    childFormId: string;
    helpText: string;
    childShowInline: string;
    recordLimitType: RecordLimitType;
    showInlineList: boolean;
    recordLimitField: string;
    restrictionMode: RestrictionMode;
    recordLimit: number;
    markup: string;
    name: string;
    constructor(field?: Widget);
    /**
     * get widget value
     *
     * @returns
     */
    getWidgetValue(): any;
    /**
     * Set widget Value
     *
     * @param value
     */
    setWidgetValue(value: any): void;
    /**
     * this will return serialize of widget
     */
    getWidgetSerializedValue(): string;
    newChildRecord(): void;
    /**function to create report object with existing values
    *
    *@param Report
    *
    */
    childRecord(field: any): void;
    /**
     * Create FormControl for widget
     */
    createFormControl(): void;
    static getPropertyPanelFieldMetadata(target: any, key: string): PropertyPanelFieldMetadata;
    getPropertyPanelFieldUIProperties(): any;
}
