import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { NtFileSizeError, NtFileTypeError, NtUploadError, NtUploadHandler, NtUploadRef } from '@ng-tangram/components/core';
import { NtFormFieldControl } from '@ng-tangram/components/forms';
import { NtModal } from '@ng-tangram/components/modal';
import { NtPictureIcons } from './picture-icons';
export declare function zipImage(file: File, option?: any): Promise<any>;
export declare const NT_PICTURE_ACCEPTS: string[];
export declare type NtPictureError = NtFileTypeError | NtFileSizeError | NtUploadError;
export declare class NtPictureRef<T> extends NtUploadRef<T> {
    file: File;
    id: string;
    thumbnail: string;
    constructor(file: File, id?: string);
}
export declare class NtPictureComponent<T> extends NtFormFieldControl<NtPictureRef<T>[]> implements OnInit, ControlValueAccessor {
    private _modal;
    private _uploadHandler;
    ngControl: NgControl;
    icons: NtPictureIcons;
    private readonly _destroy;
    private _accept;
    _displayPictureRefs: NtPictureRef<T>[];
    private _pictureRefs;
    readonly value: NtPictureRef<T>[];
    private _disabled;
    disabled: boolean;
    private _readonly;
    readonly: boolean;
    private _notrigger;
    notrigger: boolean;
    private _required;
    required: boolean;
    accept: string | Array<string>;
    private _multiple;
    multiple: boolean;
    private _limitSize;
    limitSize: number;
    url: string;
    name: string;
    shape: '' | 'circle' | 'square';
    previewTemplate: TemplateRef<any>;
    errors: EventEmitter<NtFileTypeError | NtFileSizeError | NtUploadError | NtPictureError[]>;
    private _onChange;
    private _onTouched;
    constructor(_modal: NtModal, _uploadHandler: NtUploadHandler, ngControl: NgControl, icons: NtPictureIcons);
    ngOnInit(): void;
    ngOnDestroy(): void;
    writeValue(value: NtPictureRef<T>[]): void;
    registerOnChange(fn: (_: any) => {}): void;
    registerOnTouched(fn: () => {}): void;
    setDisabledState(isDisabled: boolean): void;
    preview(pictureRef: NtPictureRef<T>): void;
    _select(files: File[]): void;
    _remove(pictureRef: NtPictureRef<T>): void;
    private _createPictureRef;
    private _removePictureRef;
    private _resolveUploadedResult;
}
