import { ModuleWithProviders, TemplateRef, ViewContainerRef } from '@angular/core';
import { CdkPortal, CdkPortalOutlet, ComponentPortal, Portal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
import { ComponentType, ConnectedOverlayPositionChange, ConnectedPosition, ConnectionPositionPair, FlexibleConnectedPositionStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayPositionBuilder, OverlayRef, PositionStrategy, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';
import { Platform } from '@angular/cdk/platform';
export declare class ElPortalDirective extends CdkPortal {
}
export declare class ElPortalOutletDirective extends CdkPortalOutlet {
}
export declare class ElComponentPortal<T = any> extends ComponentPortal<T> {
}
export declare class ElOverlay extends Overlay {
}
export declare class ElPlatform extends Platform {
}
export declare class ElOverlayPositionBuilder extends OverlayPositionBuilder {
}
export declare class ElTemplatePortal<T = any> extends TemplatePortal<T> {
    constructor(template: TemplateRef<T>, viewContainerRef?: ViewContainerRef, context?: T);
}
export declare class ElOverlayContainer extends OverlayContainer {
}
export declare class ElFlexibleConnectedPositionStrategy extends FlexibleConnectedPositionStrategy {
}
export declare class ElPortalInjector extends PortalInjector {
}
export declare type ElPortal<T = any> = Portal<T>;
export declare type ElOverlayRef = OverlayRef;
export declare type ElComponentType<T = any> = ComponentType<T>;
export declare type ElPositionStrategy = PositionStrategy;
export declare type ElConnectedPosition = ConnectedPosition;
export declare type ElConnectedOverlayPositionChange = ConnectedOverlayPositionChange;
export declare type ElConnectionPositionPair = ConnectionPositionPair;
export declare type ElOverlayConfig = OverlayConfig;
export declare type ElScrollStrategyOptions = ScrollStrategyOptions;
export declare type ElScrollStrategy = ScrollStrategy;
/**
 * This module helps us to keep all angular/cdk deps inside our cdk module via providing aliases.
 * Approach will help us move cdk in separate npm package and refactor endlessjs/theme code.
 * */
export declare class ElCdkMappingModule {
    static forRoot(): ModuleWithProviders;
}
