import * as _ng_nest_ui_calendar from '@ng-nest/ui/calendar';
import * as _angular_core from '@angular/core';
import { TemplateRef } from '@angular/core';
import * as _ng_nest_ui_core from '@ng-nest/ui/core';
import { XIdentityProperty } from '@ng-nest/ui/core';
import { XI18nCalendar } from '@ng-nest/ui/i18n';
/**
* Calendar
* @selector x-calendar
* @decorator component
*/
declare const XCalendarPrefix = "x-calendar";
declare const XCalendarProperty_base: new () => {
config: _ng_nest_ui_core.XCalendarConfig | undefined;
};
/**
* Calendar Property
*/
declare class XCalendarProperty extends XCalendarProperty_base {
/**
* @zh_CN 事务数据对象
* @en_US Transaction data object
* @example
*
* ```html
*
* ```
*
*/
readonly data: _angular_core.InputSignal;
/**
* @zh_CN 显示模式
* @en_US Display mode
* @example
*
* ```html
*
*
* ```
*
*/
readonly model: _angular_core.InputSignal;
/**
* @zh_CN 显示类型
* @en_US Display type
* @example
*
* ```html
*
*
* ```
*
*/
readonly displayType: _angular_core.InputSignal;
/**
* @zh_CN 头部显示模版
* @en_US Head display template
* @example
*
* ```html
*
* custom title
* ```
*
*/
readonly headerLeftTemp: _angular_core.InputSignal | undefined>;
/**
* @zh_CN 选择日期变化的事件
* @en_US Select the event of the date change
* @example
*
* ```html
*
* ```
*
* ```typescript
* ...
* onDateChange(date: Date) {
* console.log(date)
* }
* ...
* ```
*
*/
readonly dateChange: _angular_core.OutputEmitterRef;
/**
* @zh_CN 日期范围变化的事件
* @en_US Date range change event
* @example
*
* ```html
*
* ```
*
* ```typescript
* ...
* onRangeChange(dates: Date[]) {
* console.log(dates)
* }
* ...
* ```
*
*/
readonly rangeChange: _angular_core.OutputEmitterRef;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* @zh_CN Calendar 数据对象
* @en_US Calendar data object
*/
interface XCalendarData {
/**
* key-value
* { "2020-2-22": [{id:"1",label:"1"}] }
*/
[property: string]: XCalendarNode[];
}
/**
* @zh_CN Calendar 数据对象
* @en_US Calendar data object
*/
interface XCalendarNode extends XIdentityProperty {
}
/**
* @zh_CN 显示模式
* @en_US Display mode
*/
type XCalendarModel = 'month' | 'year';
/**
* @zh_CN 显示类型
* @en_US Display type
*/
type XCalendarType = 'calendar' | 'card';
declare class XCalendarComponent extends XCalendarProperty {
private datePipe;
private lowerCasePipe;
private i18n;
datetime: _angular_core.WritableSignal;
activatedDate: _angular_core.WritableSignal;
radioDataBase: {
label: string;
id: string;
}[];
modelSignal: _angular_core.WritableSignal<_ng_nest_ui_calendar.XCalendarModel>;
locale: _angular_core.Signal;
radioData: _angular_core.Signal<{
label: string;
id: string;
}[]>;
classMap: _angular_core.Signal<{
[x: string]: boolean;
}>;
monthData: _angular_core.Signal<{
[property: string]: XCalendarNode[];
}>;
constructor();
action(next: number): void;
getLocaleMonth(date: Date): any;
dateOnChange(date: Date): void;
rangeOnChange(range: Date[]): void;
getDate(date: Date): XCalendarNode[];
getMonth(date: Date): XCalendarNode[];
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
declare class XCalendarModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration;
static ɵinj: _angular_core.ɵɵInjectorDeclaration;
}
export { XCalendarComponent, XCalendarModule, XCalendarPrefix, XCalendarProperty };
export type { XCalendarData, XCalendarModel, XCalendarNode, XCalendarType };