import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { ConfirmationService } from 'primeng/api';
import { ConfirmationTexts, CropperLabelsConfig, FileValidationErrors, ProfilePicturePickerData } from './models/index';
import { ImageCropperService } from '@seniorsistemas/angular-components/image-cropper';
import * as i0 from "@angular/core";
export declare class ProfilePicturePickerComponent implements OnInit, ControlValueAccessor {
    private readonly imageCropperService;
    private readonly confirmationService;
    private readonly translateService;
    simpleTitle: string;
    actionTitle: string;
    subtitle: string;
    aspectRatio: number;
    cropperLabelsConfig?: CropperLabelsConfig;
    removeButtonLabel?: string;
    changeButtonLabel?: string;
    confirmationTexts?: ConfirmationTexts;
    maxFileSize?: number;
    accept?: string;
    supportedExtensions: string[];
    image: string | ProfilePicturePickerData | null;
    uploadPicture: ElementRef | null;
    info: ElementRef | null;
    thumbnail: ElementRef | null;
    fileInput: ElementRef | null;
    /**
     * @deprecated Use imageChange instead.
     */
    changedImage: EventEmitter<string>;
    imageChange: EventEmitter<string | ProfilePicturePickerData>;
    removedImage: EventEmitter<any>;
    invalidFile: EventEmitter<FileValidationErrors>;
    get imageBase64(): string;
    private _onChange?;
    private _onTouched?;
    constructor(imageCropperService: ImageCropperService, confirmationService: ConfirmationService, translateService: TranslateService);
    writeValue(value: string | ProfilePicturePickerData): void;
    registerOnChange(onChange: (value: string | ProfilePicturePickerData) => void): void;
    registerOnTouched(onTouched: () => void): void;
    ngOnInit(): void;
    onDragOver(event: DragEvent): void;
    onDragLeave(event: DragEvent): void;
    onDrop(event: DragEvent): void;
    onResize(): void;
    selectPhoto(): void;
    removePhoto(): void;
    photoSelected(event: any): void;
    private _showImageCropper;
    private _normalizeSuportedExtensions;
    private _validateData;
    private _validateFileExtension;
    private _validateFileSize;
    private _getWidthElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProfilePicturePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProfilePicturePickerComponent, "s-profile-picture-picker", never, { "simpleTitle": { "alias": "simpleTitle"; "required": false; }; "actionTitle": { "alias": "actionTitle"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; }; "cropperLabelsConfig": { "alias": "cropperLabelsConfig"; "required": false; }; "removeButtonLabel": { "alias": "removeButtonLabel"; "required": false; }; "changeButtonLabel": { "alias": "changeButtonLabel"; "required": false; }; "confirmationTexts": { "alias": "confirmationTexts"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "supportedExtensions": { "alias": "supportedExtensions"; "required": false; }; "image": { "alias": "image"; "required": false; }; }, { "changedImage": "changedImage"; "imageChange": "imageChange"; "removedImage": "removedImage"; "invalidFile": "invalidFile"; }, never, never, false, never>;
}
