import { Type } from '@angular/core';
import { Widget } from './widget';
import { DocumentWidgetValue } from './widget-value/document-widget-value';
import { DocumentComponent } from '../../../sculptor-lib/widgets/document/document.component';
import { PropertyPanelFieldMetadata } from '../common/property-panel-field';
declare type DocumentValue = Type<string | Array<DocumentWidgetValue>>;
export declare class AxDocument extends Widget {
    fileSizeLimit: string;
    helpText: string;
    allowedFileTypes: any[];
    allowedFileTypeTemp: string;
    allowPublicUrl: boolean;
    values: Array<DocumentWidgetValue>;
    value: DocumentValue;
    markup: string;
    name: string;
    component: Type<DocumentComponent>;
    /**
     * get widget value
     *
     * @returns
     */
    getWidgetValue(): any;
    /**
     * Set widget Value
     *
     * @param value
     */
    setWidgetValue(value: any): void;
    /**
     * this will return serialize of widget
     */
    getWidgetSerializedValue(): string;
    constructor(field?: Widget);
    newDocument(): void;
    /**
     * function to create document object with existing values
     *
     *@param field
     *
     */
    document(field: any): void;
    static getPropertyPanelFieldMetadata(target: any, key: string): PropertyPanelFieldMetadata;
    getPropertyPanelFieldUIProperties(): any;
}
export {};
