import { EventEmitter, OnDestroy, AfterViewInit, OnInit, ChangeDetectorRef } from '@angular/core';
import { FormControl, FormGroup, NgForm } from '@angular/forms';
import { MatDatepickerInputEvent } from '@angular/material/datepicker';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Moment } from 'moment';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { IFormConfiguration } from '@sd-angular/core/common';
import { SdLabelDefDirective } from '@sd-angular/core/common';
export declare class SdDateRange implements OnDestroy, OnInit, AfterViewInit {
    #private;
    private cdRef;
    private detectorService;
    private formConfig;
    id1: string;
    id2: string;
    isMobileOrTablet: boolean;
    set name(val: string);
    appearance: MatFormFieldAppearance;
    size: 'sm' | 'lg';
    formControl: FormControl;
    set form(val: NgForm | FormGroup);
    set disabled(val: boolean | '');
    required: boolean;
    set _required(val: boolean | '');
    qcId: string;
    label: string;
    set _label(val: string);
    disableErrorMessage: boolean;
    set _disableErrorMessage(val: boolean | '');
    min: Date;
    set _min(val: string);
    max: Date;
    set _max(val: string);
    set from(val: any);
    set to(val: any);
    sdChange: EventEmitter<{
        from: Date;
        to: Date;
    }>;
    fromChange: EventEmitter<any>;
    toChange: EventEmitter<any>;
    sdLabelDef: SdLabelDefDirective;
    control1: FormControl;
    control2: FormControl;
    constructor(cdRef: ChangeDetectorRef, detectorService: DeviceDetectorService, formConfig: IFormConfiguration);
    ngOnDestroy(): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    onStartChange: (event: MatDatepickerInputEvent<Moment>) => void;
    onEndChange: (event: MatDatepickerInputEvent<Moment>) => void;
    clear: () => void;
}
