import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, WritableSignal } from '@angular/core';
import { TccMinimizeHeaderComponent } from '../tcc-minimize-header/tcc-minimize-header.component';
import { TccResizeObserverService } from '../../../core/services/tcc-resize-observer/tcc-resize-observer.service';
import { TccTestForRoleService } from '../../../shared/services/tcc-test-for-role/tcc-test-for-role.service';
import { tccSliderRightFooter } from '../tcc-slider-right-footer/tcc-slider-right-footer.component';
import { TccLibIcons } from '../../classes/tcc-register-icons.class';
interface scrollPosition {
    Name: string;
    DistanceTop: number;
}
export interface TccSectionNavigationButtonConfig {
    iconButton?: tccSliderRightFooter.iconButton;
    outlinedButton?: tccSliderRightFooter.button;
    primaryButton?: tccSliderRightFooter.button;
    hasNavigation?: boolean;
    saveButton?: boolean;
}
export declare class TccSectionNavigationComponent implements AfterViewInit, OnDestroy {
    private resizeService;
    private changeDetectorRef;
    private testforrole;
    scrollContainer: ElementRef;
    minimizeHeader: TccMinimizeHeaderComponent;
    normalContainer: ElementRef<HTMLDivElement>;
    saveButtonElement: ElementRef<HTMLButtonElement>;
    hasMinimize: boolean | false;
    headerTitle: string | "";
    set disableSave(disable: boolean);
    disableSave$: WritableSignal<boolean>;
    set buttonConfig(config: TccSectionNavigationButtonConfig);
    isInSlider: boolean;
    locked: boolean;
    changeable: boolean;
    scrolledTo: EventEmitter<string>;
    minimizeHeaderScroll: EventEmitter<any>;
    save: EventEmitter<void>;
    iconButtonEvent: EventEmitter<void>;
    outlinedButtonEvent: EventEmitter<void>;
    primaryButtonEvent: EventEmitter<void>;
    _activeNavButton: number;
    private scrolled;
    private navScrolled;
    private _scrollContainer;
    scrollPositions: Array<scrollPosition>;
    private resizeSubscription;
    private lastHeight;
    _buttonConfig: TccSectionNavigationButtonConfig;
    MatIcon: string;
    SVGIcon: string;
    _hasNavigation: boolean;
    saveButton: boolean;
    lockedMessage: string;
    LibIcons: typeof TccLibIcons.Icon;
    constructor(resizeService: TccResizeObserverService, changeDetectorRef: ChangeDetectorRef, testforrole: TccTestForRoleService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private onResize;
    triggerFindScrollPositions(): void;
    private findScrollPositions;
    private getScrollPositionByName;
    _scrollTo(index: number): void;
    onMinimizeHeaderScroll(event: any): void;
    private onScroll;
    onSave(): void;
    onSliderFooterButtonClick(buttonId: string): void;
}
export {};
