import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } 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 { TccET_IAM } from '../../../odata/models/iam.model';
import { TccTestForRoleService } from '../../../shared/services/tcc-test-for-role/tcc-test-for-role.service';
interface scrollPosition {
    Name: string;
    DistanceTop: number;
}
export interface TccSectionNavigationButtonConfig {
    iconButton?: {
        name: string;
        permissions: TccET_IAM.UserRoles[];
    };
    outlinedButton?: string;
    primaryButton?: string;
    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 | "";
    disableSave: boolean;
    set buttonConfig(config: TccSectionNavigationButtonConfig);
    isInSlider: 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;
    isDefaultSave: boolean;
    saveButton: boolean;
    hasPermission: boolean;
    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;
    onIconButton(): void;
    onOutlinedButton(): void;
    onPrimaryButton(): void;
    checkUserPermissionsForIconButton(config: TccSectionNavigationButtonConfig): void;
}
export {};
