import { ViewContainerRef, ComponentFactoryResolver, NgZone, Renderer2 } from '@angular/core';
import { DomRenderer, DomWrapper, DomPortal } from './dom';
export declare class AngularRenderer implements DomRenderer {
    private container;
    constructor(container: any, renderer: Renderer2, document: any, ngZone: NgZone, useDefaultsSource: boolean, defaultsSource: {
        [key: string]: any;
    }, portalManager?: PortalManager);
    private _useRenderer;
    private _container;
    private _renderer;
    private _document;
    private _ngZone;
    private _useDefaultsSource;
    private _defaultsSource;
    private _rootWrapper;
    private _rootElement;
    private _cssHelper;
    private _checkResized;
    private _resizeListener;
    private _resizeTicking;
    private _portalManager;
    private _resourceBundleId;
    private _cultureId;
    addSizeWatcher(onResized: () => void): void;
    destroy(): void;
    private _resizeTickId;
    removeSizeWatcher(): void;
    withRenderer(act: (ren: Renderer2) => void): void;
    supportsAnimation(): boolean;
    getRequestAnimationFrame(): (act: () => void) => void;
    getSetTimeout(): (act: () => void, millisecondsDelay: number) => number;
    getClearTimeout(): (timerId: number) => void;
    setTimeout(act: () => void, millisecondsDelay: number): number;
    clearTimeout(timerId: any): void;
    get rootWrapper(): DomWrapper;
    querySelector(selector: string): DomWrapper;
    getWrapper(ele: any): DomWrapper;
    getResourceString(resourceId: string): string;
    setResourceBundleId(bundle: string): void;
    setCultureId(culture: string): void;
    append(child: DomWrapper): DomRenderer;
    appendToBody(element: DomWrapper): void;
    runInMainZone(action: () => void): void;
    createElement(elementName: any): AngularWrapper;
    createElementNS(elementName: any, ns: any): AngularWrapper;
    private _discStack;
    endCSSQuery(): void;
    expandTemplate(template: string, args: any): AngularWrapper;
    get2DCanvasContext(canvas: AngularWrapper): CanvasRenderingContext2D;
    private get isComputedFontQuery();
    getCssDefaultPropertyValue(className: string, propertyName: string): string;
    getCssDefaultValuesForClassCollection(classPrefix: string, propertyNames: string[]): any[];
    getDefaultFontHeight(): number;
    private static _fontHeightCache;
    getHeightForFontString(fontString: any, text: any, useOffsetHeight: any): any;
    getSubRenderer(root: DomWrapper): DomRenderer;
    private _toUnbind;
    globalListen(element: string, eventName: string, handler: (ev: any) => void): () => void;
    hasBody(): boolean;
    hasWindow(): boolean;
    getCurrentDiscovery(): AngularWrapper;
    private _currentFontQuery;
    setCssQueryFontString(fontString: any): void;
    startCSSQuery(): void;
    supportsDOMEvents(): boolean;
    getPortal(hostElement: DomWrapper, elementTag: string, portalCallback: (portal: DomPortal) => void, isContentPortal: boolean): void;
    getExternal(internalComponent: any, styleSourceElement: DomWrapper, optionalParent?: any): any;
}
export declare class AngularWrapper implements DomWrapper {
    private renderer;
    private ngZone;
    private ele;
    constructor(ele: any, renderer: Renderer2, ngZone: NgZone);
    destroy(): void;
    withRenderer(act: (ren: Renderer2) => void): void;
    private _toUnbind;
    private _attrCache;
    private _styleCache;
    private _useRenderer;
    addClass(className: string): DomWrapper;
    append(child: DomWrapper): DomWrapper;
    getAttribute(propertyName: string): string;
    setAttribute(propertyName: string, value: string): this;
    before(child: any): DomWrapper;
    clone(): DomWrapper;
    getStyleProperty(propertyName: string): string;
    setStyleProperty(propertyName: string, value: string): DomWrapper;
    findByClass(className: any): DomWrapper[];
    focus(preventScroll?: boolean): DomWrapper;
    getChildAt(i: any): DomWrapper;
    getChildCount(): number;
    getNativeElement(): any;
    height(): number;
    private _currentDisplay;
    hide(): DomWrapper;
    listen(eventName: string, handler: (ev: any) => void): () => void;
    getOffsetHelper(ele: Element): AngularWrapperPosition;
    getOffset(): AngularWrapperPosition;
    setOffset(x: number, y: number): DomWrapper;
    outerHeight(): number;
    outerHeightWithMargin(): number;
    outerWidth(): number;
    outerWidthWithMargin(): number;
    getProperty(propertyName: string): any;
    setProperty(propertyName: string, value: any): DomWrapper;
    remove(): DomWrapper;
    removeChild(child: DomWrapper): this;
    removeChildren(): DomWrapper;
    removeClass(className: string): DomWrapper;
    setRawStyleProperty(propertyName: string, value: string): DomWrapper;
    setRawPosition(x: number, y: number): DomWrapper;
    setRawXPosition(x: number): DomWrapper;
    setRawYPosition(y: number): DomWrapper;
    setRawSize(width: number, height: number): DomWrapper;
    show(): DomWrapper;
    getText(): string;
    private _innerText;
    setText(value: string): DomWrapper;
    setRawText(value: string): DomWrapper;
    unlistenAll(): DomWrapper;
    width(): number;
    parent(): AngularWrapper;
    querySelectorAll(selector: string): AngularWrapper[];
}
export interface AngularWrapperPosition {
    left: number;
    top: number;
}
export declare class PortalManager {
    renderer: AngularRenderer;
    private _dynamicContent;
    private _portals;
    private _portalsMap;
    private _componentFactoryResolver;
    private _id;
    get dynamicContent(): ViewContainerRef;
    set dynamicContent(value: ViewContainerRef);
    private onDynamicContentProvided;
    constructor(id: string, componentFactoryResolver: ComponentFactoryResolver);
    private _currId;
    private getId;
    onChildContentChanged(template: any): void;
    getPortal(hostElement: DomWrapper, elementTag: string, portalCallback: (portal: DomPortal) => void, isContentPortal: boolean): void;
    _destroy(portal: AngularDomPortal): void;
    detectChanges: () => void;
}
declare class AngularDomPortal implements DomPortal {
    private _owner;
    portalContainer: any;
    componentRef: any;
    private _dynamicContent;
    isContentPortal: boolean;
    onChildContentChanged: (template: any) => void;
    destroy(): void;
    _onComponentProvided(ele: any): void;
    _onDynamicContentProvided(value: ViewContainerRef): void;
    private _elementTag;
    private _portalCallback;
    _nativePortal: any;
    _portalId: string;
    private _componentReference;
    private _componentFactoryResolver;
    private toPascal;
    private createElementFromTag;
    constructor(portalManager: PortalManager, hostElement: DomWrapper, elementTag: string, portalCallback: (portal: DomPortal) => void, portalId: string, dynamicContent: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, isContentPortal: boolean);
}
export {};
