import { NgZone } from '@angular/core';
import { BlockScrollStrategy, ScrollDispatcher, ScrollStrategyOptions } from '@angular/cdk/overlay';
import { ElLayoutScrollService } from '../../../services/scroll.service';
import { ElViewportRulerAdapter } from './viewport-ruler-adapter';
/**
 * Overrides default block scroll strategy because default strategy blocks scrolling on the body only.
 * But Endlessjs has its own scrollable container - el-layout. So, we need to block scrolling in it to.
 * */
export declare class ElBlockScrollStrategyAdapter extends BlockScrollStrategy {
    protected scrollService: ElLayoutScrollService;
    constructor(document: any, viewportRuler: ElViewportRulerAdapter, scrollService: ElLayoutScrollService);
    enable(): void;
    disable(): void;
}
export declare class ElScrollStrategyOptions extends ScrollStrategyOptions {
    protected scrollService: ElLayoutScrollService;
    protected scrollDispatcher: ScrollDispatcher;
    protected viewportRuler: ElViewportRulerAdapter;
    protected ngZone: NgZone;
    protected document: any;
    constructor(scrollService: ElLayoutScrollService, scrollDispatcher: ScrollDispatcher, viewportRuler: ElViewportRulerAdapter, ngZone: NgZone, document: any);
    block: () => ElBlockScrollStrategyAdapter;
}
