import { AfterViewInit, ElementRef, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
import { DokuTable } from './table.directive';
import * as i0 from "@angular/core";
export declare enum DokuStickyColumnPosition {
    Left = "left",
    Right = "right"
}
export declare class DokuTableStickyColumn implements OnChanges, OnDestroy, AfterViewInit {
    private elementRef;
    private renderer;
    private ngZone;
    private dokuTable?;
    position?: DokuStickyColumnPosition;
    private observer?;
    private destroy$;
    constructor(elementRef: ElementRef, renderer: Renderer2, ngZone: NgZone, dokuTable?: DokuTable | undefined);
    protected get element(): HTMLElement;
    protected get isStickyLeft(): boolean;
    protected get isStickyRight(): boolean;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private handleDynamicStyleRight;
    private handleDynamicStyleLeft;
    private getSiblingElementClientWidth;
    private watchTableContainerScrollEvent;
    private handleStickyLeftShadow;
    private handleStickyRightShadow;
    /**
     * Check whether this column is the last sticky column.
     *
     * For the `left` position, will check if no sticky column after.
     * For the `right` position, will check if no sticky column before.
     */
    private isLastStickyColumn;
    private toggleShadowClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuTableStickyColumn, [null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DokuTableStickyColumn, "th[doku-sticky-column], td[doku-sticky-column]", ["dokuStickyColumn"], { "position": "doku-sticky-column"; }, {}, never, never, true>;
}
