import { strings } from '@douyinfe/semi-foundation/lib/es/anchor/constants'; import Link from './link'; import '@douyinfe/semi-foundation/lib/es/anchor/anchor.css'; import { ArrayElement } from '../_base/base'; import { ShowTooltip } from '../typography/interface'; import { CSSProperties, PropType } from 'vue'; import { AriaAttributes } from '../AriaAttributes'; import { CombineProps } from '../interface'; export type { LinkProps } from './link'; export interface AnchorProps { autoCollapse?: boolean; className?: string; defaultAnchor?: string; getContainer?: () => HTMLElement | Window; maxHeight?: string | number; maxWidth?: string | number; offsetTop?: number; position?: ArrayElement; railTheme?: ArrayElement; scrollMotion?: boolean; showTooltip?: boolean | ShowTooltip; size?: ArrayElement; style?: CSSProperties; targetOffset?: number; onChange?: (currentLink: string, previousLink: string) => void; onClick?: (e: MouseEvent, currentLink: string) => void; 'aria-label'?: AriaAttributes['aria-label']; } export interface AnchorState { activeLink: string; links: string[]; clickLink: boolean; scrollHeight: string; slideBarTop: string; } export declare const vuePropsType: CombineProps; declare const Anchor: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; defaultAnchor: PropType | { type: PropType; default?: any; required?: false; }; getContainer: PropType<() => HTMLElement | Window> | { type: PropType<() => HTMLElement | Window>; default?: any; required?: false; }; maxHeight: PropType | { type: PropType; default?: any; required?: false; }; maxWidth: PropType | { type: PropType; default?: any; required?: false; }; offsetTop: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">; default?: any; required?: false; }; railTheme: PropType<"primary" | "tertiary" | "muted"> | { type: PropType<"primary" | "tertiary" | "muted">; default?: any; required?: false; }; scrollMotion: PropType | { type: PropType; default?: any; required?: false; }; showTooltip: PropType | { type: PropType; default?: any; required?: false; }; size: PropType<"small" | "default"> | { type: PropType<"small" | "default">; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; targetOffset: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType<(currentLink: string, previousLink: string) => void> | { type: PropType<(currentLink: string, previousLink: string) => void>; default?: any; required?: false; }; onClick: PropType<(e: MouseEvent, currentLink: string) => void> | { type: PropType<(e: MouseEvent, currentLink: string) => void>; default?: any; required?: false; }; 'aria-label': PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; defaultAnchor: PropType | { type: PropType; default?: any; required?: false; }; getContainer: PropType<() => HTMLElement | Window> | { type: PropType<() => HTMLElement | Window>; default?: any; required?: false; }; maxHeight: PropType | { type: PropType; default?: any; required?: false; }; maxWidth: PropType | { type: PropType; default?: any; required?: false; }; offsetTop: PropType | { type: PropType; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">; default?: any; required?: false; }; railTheme: PropType<"primary" | "tertiary" | "muted"> | { type: PropType<"primary" | "tertiary" | "muted">; default?: any; required?: false; }; scrollMotion: PropType | { type: PropType; default?: any; required?: false; }; showTooltip: PropType | { type: PropType; default?: any; required?: false; }; size: PropType<"small" | "default"> | { type: PropType<"small" | "default">; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; targetOffset: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType<(currentLink: string, previousLink: string) => void> | { type: PropType<(currentLink: string, previousLink: string) => void>; default?: any; required?: false; }; onClick: PropType<(e: MouseEvent, currentLink: string) => void> | { type: PropType<(e: MouseEvent, currentLink: string) => void>; default?: any; required?: false; }; 'aria-label': PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export type AnchorType = typeof Anchor & { Link: typeof Link; }; declare const BaseAnchor: AnchorType; export { Link, Link as AnchorLink }; export default BaseAnchor;