import * as _angular_core from '@angular/core';
import { ElementRef } from '@angular/core';
import * as _ng_nest_ui_core from '@ng-nest/ui/core';
import { XBoolean, XTemplate, XStatus, XEffect, XNumber } from '@ng-nest/ui/core';
import { CdkDragEnd } from '@angular/cdk/drag-drop';
import { XResizableEvent } from '@ng-nest/ui/resizable';
/**
* Alert
* @selector x-alert
* @decorator component
*/
declare const XAlertPrefix = "x-alert";
declare const X_ALERT_CONFIG_NAME = "alert";
declare const XAlertProperty_base: new () => {
config: _ng_nest_ui_core.XAlertConfig | undefined;
};
/**
* Alert Property
*/
declare class XAlertProperty extends XAlertProperty_base {
/**
* @zh_CN 隐藏
* @en_US Hide
* @example
*
* ```html
*
* ```
*
*/
readonly hide: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 标题
* @en_US Title
* @example
*
* ```html
*
* ```
*
*/
readonly title: _angular_core.InputSignal;
/**
* @zh_CN 内容
* @en_US Content
* @example
*
* ```html
*
* ```
*
*/
readonly content: _angular_core.InputSignal;
/**
* @zh_CN 类型
* @en_US Alert type
* @example
*
* ```html
*
*
*
*
*
* ```
*
*/
readonly type: _angular_core.InputSignal;
/**
* @zh_CN 主题
* @en_US Theme
* @example
*
* ```html
*
*
*
* ```
*
*/
readonly effect: _angular_core.InputSignal;
/**
* @zh_CN 形态变体
* @en_US Variant
* @example
*
* ```html
*
*
*
*
* ```
*
*/
readonly variant: _angular_core.InputSignal;
/**
* @zh_CN 隐藏关闭按钮
* @en_US Hide close button
* @example
*
* ```html
*
* ```
*
*/
readonly hideClose: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 使用文本关闭按钮
* @en_US Use the text to close button
* @example
*
* ```html
*
* ```
*
*/
readonly closeText: _angular_core.InputSignal;
/**
* @zh_CN 显示图标
* @en_US Show icon
* @example
*
* ```html
*
*
*
*
*
* ```
*
*/
readonly showIcon: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 禁用动画
* @en_US Disable animation
* @example
*
* ```html
*
* ```
*
*/
readonly disabledAnimation: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 延迟关闭,默认 0 表示不关闭,ms
* @en_US Delay close, the default value of 0 means do not close. ms
* @example
*
* ```html
*
* ```
*
*/
readonly duration: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 手动处理关闭事件
* @en_US Manually handle close events
* @example
*
* ```html
*
* ```
*
*/
readonly manual: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 拖动提示框
* @en_US Drag dialog
* @example
*
* ```html
*
* ```
*
*/
readonly draggable: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 调整提示框大小
* @en_US Adjust the size of the box
* @example
*
* ```html
*
* ```
*
*/
readonly resizable: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 开启 resizable 调整大小,偏移屏幕左边
* @en_US Open the resizable resize, offset screen left
* @example
*
* ```html
*
* ```
*
*/
readonly offsetLeft: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 开启 resizable 调整大小,偏移屏幕顶部
* @en_US Open the resizable resize, offset screen top
* @example
*
* ```html
*
* ```
*
*/
readonly offsetTop: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 最小宽度
* @en_US Min width
* @example
*
* ```html
*
* ```
*
*/
readonly minWidth: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 最小高度
* @en_US Min height
* @example
*
* ```html
*
* ```
*
*/
readonly minHeight: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 拖动范围限制,父节点选择器或者对象
* @en_US Drag dialog
* @example
*
* ```html
*
*
*
* ```
*
*/
readonly dragBoundary: _angular_core.InputSignal | undefined>;
/**
* @zh_CN 设置投放容器外部的 CdkDrag 的位置。可用于为返回的用户恢复元素的位置
* @en_US Set the location of the CDKDRAG outside the container. Can be used to recover elements for returned users
* @example
*
* ```html
*
* ```
*
*/
readonly dragFreeDragPosition: _angular_core.InputSignal;
/**
* @zh_CN 自定义操作
* @en_US Custom operation
* @example
*
* ```html
*
*
* Button
*
* ```
*
*/
readonly operationTpl: _angular_core.InputSignal;
/**
* @zh_CN 关闭的事件
* @en_US Closed event
* @example
*
* ```html
*
* ```
*
* ```typescript
* close() {
* console.log("close")
* }
* ```
*
*/
readonly close: _angular_core.OutputEmitterRef;
/**
* @zh_CN 拖动结束的事件
* @en_US Drag end event
* @example
*
* ```html
*
* ```
*
* ```typescript
* dragEnded(event: CdkDragEnd) {
* console.log(event)
* }
* ```
*
*/
readonly dragEnded: _angular_core.OutputEmitterRef>;
/**
* @zh_CN 改变尺寸事件
* @en_US Change the size event
* @example
*
* ```html
*
* ```
*
* ```typescript
* resizing(event: XResizableEvent) {
* console.log(event)
* }
* ```
*
*/
readonly resizing: _angular_core.OutputEmitterRef;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* Alert Option
* @undocument true
*/
interface XAlertOption {
/**
* 隐藏
*/
hide?: boolean;
/**
* 标题
*/
title?: XTemplate;
/**
* 内容
*/
content?: XTemplate;
/**
* 类型
*/
type?: XAlertType;
/**
* 主题
*/
effect?: XEffect;
/**
* 隐藏关闭按钮
*/
hideClose?: boolean;
/**
* 关闭按钮文字替换
*/
closeText?: string;
/**
* 显示图标
*/
showIcon?: boolean;
/**
* 禁用动画
*/
disabledAnimation?: boolean;
/**
* 延迟关闭,默认 0 表示不关闭
*/
duration?: number;
/**
* 手动处理关闭事件
*/
manual?: boolean;
/**
* 拖动提示框
*/
draggable?: boolean;
/**
* 调整提示框大小
*/
resizable?: boolean;
/**
* 开启 resizable 调整大小,偏移屏幕左边
*/
offsetLeft?: string;
/**
* 开启 resizable 调整大小,偏移屏幕顶部
*/
offsetTop?: string;
/**
* 最小宽度
*/
minWidth?: string;
/**
* 最小高度
*/
minHeight?: string;
}
/**
* @zh_CN 类型
* @en_US Type
*/
type XAlertType = XStatus;
/**
* @zh_CN 形态变体
* @en_US Variant
*/
type XAlertVariant = 'outlined' | 'filled' | 'shadow' | 'borderless';
/**
* @zh_CN 设置投放容器外部的 CdkDrag 的位置。可用于为返回的用户恢复元素的位置
* @en_US Set the location of the CDKDRAG outside the container. Can be used to recover elements for returned users
*/
type XAlertDragFreeDragPosition = {
x: number;
y: number;
};
declare class XAlertComponent extends XAlertProperty {
styleHide: _angular_core.WritableSignal;
classMap: _angular_core.Signal<{
[x: string]: boolean;
"x-alert-icon-medium": boolean;
"x-alert-draggable": boolean;
}>;
private unSubject;
private durationSubscription?;
private isBrowser;
private destoryRef;
private destory;
constructor();
setDuration(): void;
onClose(): void;
onCloseAnimationDone(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
declare class XAlertModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration;
static ɵinj: _angular_core.ɵɵInjectorDeclaration;
}
export { XAlertComponent, XAlertModule, XAlertPrefix, XAlertProperty, X_ALERT_CONFIG_NAME };
export type { XAlertDragFreeDragPosition, XAlertOption, XAlertType, XAlertVariant };