import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { UofxI18NService } from '@uofx/core';
import { IonModal } from '@ionic/angular';
import { UofxCoreDateFormatPipe } from '@uofx/app-components';
import * as i0 from "@angular/core";
export declare class UofxDatePickerComponent implements ControlValueAccessor, OnInit, OnChanges {
i18n: UofxI18NService;
/** date pick modal */
modal: IonModal;
/** 格式 yyyy/MM/dd */
displayFormat: string;
/** 日期最小值 */
minDate: string | Date;
/** 日期最大值 */
maxDate: string | Date;
placeholder: string;
/** 日期(date)、日期時間(date-time) */
presentation: 'date' | 'date-time';
/** 是否顯示清除按鈕 */
showClearButton: boolean;
/** 可選分鐘值,例如 "0,15,30,45",僅當 presentation 為 date-time 時才有作用
* @default 每分鐘
* @example
*
*
* (每15分鐘)
*
*/
minuteValues: number | number[] | string | undefined;
defaultClass: boolean;
dateDisabledClass: boolean;
/** 原始值 */
rawValue: Date;
/** 供元件使用的 ISOString,為後端傳回來的資料(obj)透過 UofxCoreDateFormatPipe 轉成的 ISOString */
value: string;
/** value 格式化後要傳給後端的資料 yyyy/MM/dd */
apiValue: string;
_propagateChange: (value: any) => {};
isDisabled: boolean;
/** 動態產生picker ic */
pickerId: string;
showPicker: boolean;
/** 轉換成顯示格式 */
formatDate: string;
/** 時間format pipe */
dateFormat: UofxCoreDateFormatPipe;
constructor(i18n: UofxI18NService);
ngOnChanges(changes: SimpleChanges): void;
ngOnInit(): void;
writeValue(obj: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
/** 設定是否禁用 */
setDisabledState?(isDisabled: boolean): void;
/** 開啟 date picker */
onOpenPicker(): void;
/** 資料異動 (選擇日期事件) */
onDateTimeChange(): void;
/** 清除資料 */
onClearClick(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}