import * as _angular_core from '@angular/core';
import { InputSignal, ElementRef, OnDestroy } from '@angular/core';
import { Color } from '@sdcorejs/utils/models';

interface IAnchorItem {
    id: string;
    title: InputSignal<string>;
    icon: InputSignal<string | undefined>;
    elementRef: ElementRef;
}

declare class SdAnchorItem implements IAnchorItem {
    title: _angular_core.InputSignal<string>;
    icon: _angular_core.InputSignal<string | undefined>;
    key: _angular_core.InputSignal<string | undefined>;
    id: string;
    elementRef: ElementRef<any>;
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdAnchorItem, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdAnchorItem, "sd-anchor-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare class SdAnchor implements OnDestroy {
    #private;
    wrapper: _angular_core.Signal<ElementRef<any>>;
    sections: _angular_core.Signal<readonly SdAnchorItem[]>;
    readonly autoIdInput: _angular_core.InputSignal<string | null | undefined>;
    readonly autoId: _angular_core.Signal<string | undefined>;
    sidebarWidth: _angular_core.InputSignal<string>;
    ellipsis: _angular_core.InputSignalWithTransform<boolean, unknown>;
    overScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
    hideNav: _angular_core.InputSignalWithTransform<boolean, unknown>;
    color: _angular_core.InputSignal<Color>;
    activeSectionId: _angular_core.WritableSignal<string>;
    constructor();
    scrollSectionByClick(idSectionTarget: string): void;
    ngOnDestroy(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdAnchor, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdAnchor, "sd-anchor", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "sidebarWidth": { "alias": "sidebarWidth"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "overScroll": { "alias": "overScroll"; "required": false; "isSignal": true; }; "hideNav": { "alias": "hideNav"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, ["sections"], ["*"], true, never>;
}

export { SdAnchor, SdAnchorItem };
export type { IAnchorItem };
