import { AfterViewInit, ElementRef, OnDestroy, Renderer2, ViewContainerRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { NbThemeService } from '../../services/theme.service';
import { NbSpinnerService } from '../../services/spinner.service';
import { NbLayoutDirectionService } from '../../services/direction.service';
import { NbRestoreScrollTopHelper } from './restore-scroll-top.service';
import { NbScrollPosition, NbLayoutScrollService } from '../../services/scroll.service';
import { NbLayoutDimensions, NbLayoutRulerService } from '../../services/ruler.service';
import { NbOverlayContainerAdapter } from '../cdk/adapter/overlay-container-adapter';
export declare class NbLayoutColumnComponent {
    leftValue: boolean;
    startValue: boolean;
    left: boolean;
    start: boolean;
}
export declare class NbLayoutHeaderComponent {
    private layout;
    fixedValue: boolean;
    subheaderValue: boolean;
    constructor(layout: NbLayoutComponent);
    fixed: boolean;
    subheader: boolean;
}
export declare class NbLayoutFooterComponent {
    fixedValue: boolean;
    fixed: boolean;
}
export declare class NbLayoutComponent implements AfterViewInit, OnDestroy {
    protected themeService: NbThemeService;
    protected spinnerService: NbSpinnerService;
    protected elementRef: ElementRef;
    protected renderer: Renderer2;
    protected window: any;
    protected document: any;
    protected platformId: Object;
    protected layoutDirectionService: NbLayoutDirectionService;
    protected scrollService: NbLayoutScrollService;
    protected rulerService: NbLayoutRulerService;
    protected scrollTop: NbRestoreScrollTopHelper;
    protected overlayContainer: NbOverlayContainerAdapter;
    centerValue: boolean;
    restoreScrollTopValue: boolean;
    windowModeValue: boolean;
    withScrollValue: boolean;
    withSubheader: boolean;
    center: boolean;
    windowMode: boolean;
    withScroll: boolean;
    restoreScrollTop: boolean;
    veryTopRef: ViewContainerRef;
    scrollableContainerRef: ElementRef;
    protected afterViewInit$: BehaviorSubject<any>;
    private alive;
    constructor(themeService: NbThemeService, spinnerService: NbSpinnerService, elementRef: ElementRef, renderer: Renderer2, window: any, document: any, platformId: Object, layoutDirectionService: NbLayoutDirectionService, scrollService: NbLayoutScrollService, rulerService: NbLayoutRulerService, scrollTop: NbRestoreScrollTopHelper, overlayContainer: NbOverlayContainerAdapter);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onScroll($event: any): void;
    onResize(event: any): void;
    getDimensions(): NbLayoutDimensions;
    getScrollPosition(): NbScrollPosition;
    protected registerAsOverlayContainer(): void;
    protected unregisterAsOverlayContainer(): void;
    private scroll;
}
