import { AfterContentInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy } from '@angular/core'; import { ControlContainer, NgControl } from '@angular/forms'; import { MixinElementRefBase, ThemePalette } from '@ngx-simple/core/common-behaviors'; import { SimDateAdapter } from '@ngx-simple/core/datetime'; import { SimFormFieldComponent, SimFormFieldControl } from '@ngx-simple/simple-ui/form-field'; import { Subject } from 'rxjs'; import { DateFilterFn, DateRangeInputParent, SimEndDateDirective, SimStartDateDirective } from './date-range-input.directive'; import { SimDateRangePickerComponent, SimDateRangePickerInput } from './date-range-picker.component'; import { DateRange } from './date-selection-model'; import { SimDatepickerControl } from './datepicker-base'; declare const _SimDateRangeInputMixinBase: import("../../../dist/libs/core/common-behaviors/constructor").Constructor & typeof MixinElementRefBase; export declare class SimDateRangeInputComponent extends _SimDateRangeInputMixinBase implements SimFormFieldControl>, SimDatepickerControl, DateRangeInputParent, SimDateRangePickerInput, AfterContentInit, OnChanges, OnDestroy { private _changeDetectorRef; private _dateAdapter; private _formField?; /** 格式化input显示的时间字符串样式 */ format: string; /** * 选择面板 决定 startView 值 * - year 选择多年面板 => multi-year * - month 选择月份面板 => multi-year | year * - week 选择周面板 => multi-year | year | month * - date 选择日期面板 => multi-year | year | month * - datetime 选择日期时间面板 => multi-year | year | month | date */ picker: 'year' | 'month' | 'week' | 'date' | 'datetime'; /** 最小有效日期 */ get min(): D | null; set min(value: D | null); /** 最大有效日期 */ get max(): D | null; set max(value: D | null); get disabled(): boolean; set disabled(value: boolean); /** 与sim-date-range-picker组件关联 */ get rangePicker(): SimDateRangePickerComponent; set rangePicker(rangePicker: SimDateRangePickerComponent); /** 可用于过滤日期范围选择器中的日期的函数 */ get dateFilter(): DateFilterFn; set dateFilter(value: DateFilterFn); get value(): any; get empty(): boolean; /** 分隔符 */ separator: string; /** 应该在日历中显示的比较范围的开始 */ comparisonStart: D | null; /** 应该在日历中显示的比较范围的结束 */ comparisonEnd: D | null; required: boolean; _startInput: SimStartDateDirective; _endInput: SimEndDateDirective; controlType: string; /** 这里不需要提供 由携带`simStartDate`和`simEndDate`的input提供 */ placeholder: string; focused: boolean; /** 输入是否处于错误状态 */ get errorState(): boolean; ngControl: NgControl | null; id: string; _stateChanges: Subject; focusedInput: SimStartDateDirective | SimEndDateDirective; readonly _disabledChange: Subject; readonly stateChanges: Subject; _groupDisabled: boolean; private _dateFilter; private _rangePicker; private _min; private _max; /** 当前在输入中注册的日期选择模型 */ private _model; constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, control: ControlContainer, _dateAdapter: SimDateAdapter, _formField?: SimFormFieldComponent); ngAfterContentInit(): void; ngOnChanges(): void; ngOnDestroy(): void; setDescribedByIds(ids: string[]): void; onContainerClick(): void; /** 返回的表单字段使用的调色板 */ getThemePalette(): ThemePalette; /** 获取日历应开始的日期 */ getStartValue(): D | null; /** 获取弹层相对元素 */ getConnectedOverlayOrigin(): ElementRef; /** 处理子输入更改中的值 */ _handleChildValueChange(): void; _openDatePicker(): void; _removeValue(): void; private _getValidDateOrNull; /** 每次start和end输入时候触发验证器 */ private _revalidate; private _registerModel; } export {};