import * as _angular_core from '@angular/core';
import { OnInit, AfterViewInit, OnDestroy, AfterContentChecked, ElementRef, SimpleChanges } from '@angular/core';
import * as _ng_nest_ui_core from '@ng-nest/ui/core';
import { XNumber, XPositionLeftRight, XJustify, XIdentityProperty } from '@ng-nest/ui/core';
import { Subject } from 'rxjs';
import { XSliderNode } from '@ng-nest/ui/slider';
/**
* Anchor
* @selector x-anchor
* @decorator component
*/
declare const XAnchorPrefix = "x-anchor";
declare const XAnchorProperty_base: new () => {
config: _ng_nest_ui_core.XAnchorConfig | undefined;
};
/**
* Anchor Property
*/
declare class XAnchorProperty extends XAnchorProperty_base {
/**
* @zh_CN 滚动区域对象
* @en_US Scroll area object
* @example
*
* ```html
*
*
* ...
*
*
* ```
*/
readonly scroll: _angular_core.InputSignal;
/**
* @zh_CN 顶部距离
* @en_US Top distance
* @example
*
* ```html
*
* ...
*
* ```
*
*/
readonly affixTop: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 底部距离
* @en_US Bottom distance
* @example
*
* ```html
*
* ...
*
* ```
*
*/
readonly affixBottom: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 导航宽度
* @en_US Navigation Width
* @example
*
* ```html
*
* ...
*
* ```
*
*/
readonly affixWidth: _angular_core.InputSignalWithTransform;
/**
* @zh_CN 导航相对内容位置
* @en_US Navigation relative content position
* @example
*
* ```html
*
* ...
*
* ```
*
*/
readonly layout: _angular_core.InputSignal;
/**
* @zh_CN 对齐方式
* @en_US Alignment
* @example
*
* ```html
*
* ...
*
* ```
*
*/
readonly justify: _angular_core.InputSignal;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* Anchor inner
* @selector x-anchor-inner
* @decorator component
*/
declare const XAnchorInnerPrefix = "x-anchor-inner";
/**
* Anchor inner Property
*/
declare class XAnchorInnerProperty {
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* Anchor Node
*/
interface XAnchorNode extends XIdentityProperty {
/**
* @zh_CN 左内边距,用来显示层级
* @en_US Left inner margin, used to display hierarchy
*/
left?: number;
/**
* @zh_CN 图标
* @en_US Icon
*/
icon?: string;
/**
* @zh_CN 锚点的链接
* @en_US Anchor link
*/
link?: string;
}
/**
* @zh_CN 布局方式,相对内容的位置
* @en_US Layout method, relative content position
*/
type XAnchorLayout = XPositionLeftRight;
declare class XAnchorComponent extends XAnchorProperty implements OnInit, AfterViewInit, OnDestroy, AfterContentChecked {
anchor: _angular_core.Signal>;
content: _angular_core.Signal>;
hElements: _angular_core.WritableSignal | null>;
sliderData: _angular_core.WritableSignal;
activatedIndex: _angular_core.WritableSignal;
document: Document;
contentChange: Subject;
scrollElement: _angular_core.Signal;
sliderHeight: _angular_core.Signal;
classMap: _angular_core.Signal<{
[x: string]: boolean;
}>;
private scrolling;
private fontSize;
private unSubject;
private renderer;
private elementRef;
private scrollChanged;
ngAfterContentChecked(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
activatedChange(index: number): void;
private setScroll;
private setActivatedByScroll;
private setSliderData;
private setLeft;
private scrollTo;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
declare class XAnchorInnerComponent extends XAnchorInnerProperty {
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
declare class XAnchorModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration;
static ɵinj: _angular_core.ɵɵInjectorDeclaration;
}
export { XAnchorComponent, XAnchorInnerComponent, XAnchorInnerPrefix, XAnchorInnerProperty, XAnchorModule, XAnchorPrefix, XAnchorProperty };
export type { XAnchorLayout, XAnchorNode };