import { DomRenderer, DomWrapper } from './dom';
export declare class WebComponentRenderer implements DomRenderer {
    private container;
    constructor(container: any, document: any, useDefaultsSource: boolean, defaultsSource: {
        [key: string]: any;
    });
    private _container;
    private _document;
    private _useDefaultsSource;
    private _defaultsSource;
    private _rootWrapper;
    private _rootElement;
    private _cssHelper;
    private _checkResized;
    private _resizeListener;
    private _resizeTicking;
    addSizeWatcher(onResized: () => void): void;
    destroy(): void;
    private _resizeTickId;
    removeSizeWatcher(): void;
    updateRoot(root: WebComponentWrapper): void;
    withRenderer(act: (ren: WebComponentRenderer) => void): void;
    supportsAnimation(): boolean;
    getRequestAnimationFrame(): (act: () => void) => 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;
    append(child: DomWrapper): DomRenderer;
    appendToBody(element: DomWrapper): void;
    createElement(elementName: any): WebComponentWrapper;
    private _discStack;
    endCSSQuery(): void;
    expandTemplate(template: string, args: any): WebComponentWrapper;
    get2DCanvasContext(canvas: WebComponentWrapper): CanvasRenderingContext2D;
    private get isComputedFontQuery();
    getCssDefaultPropertyValue(className: string, propertyName: string): string;
    getCssDefaultValuesForClassCollection(classPrefix: string, propertyNames: string[]): any[];
    getDefaultFontHeight(): number;
    getHeightForFontString(fontString: any, text: any, useOffsetHeight: any): any;
    getSubRenderer(root: DomWrapper): DomRenderer;
    private _toUnbind;
    listen(element: any, eventName: string, handler: (ev: any) => void): () => void;
    runInMainZone(action: () => void): void;
    globalListen(element: string, eventName: string, handler: (ev: any) => void): () => void;
    hasBody(): boolean;
    hasWindow(): boolean;
    getCurrentDiscovery(): WebComponentWrapper;
    private _currentFontQuery;
    setCssQueryFontString(fontString: any): void;
    startCSSQuery(): void;
    supportsDOMEvents(): boolean;
}
export declare class WebComponentWrapper implements DomWrapper {
    private renderer;
    constructor(element: any, renderer: WebComponentRenderer);
    private ele;
    destroy(): void;
    withRenderer(act: (ren: WebComponentRenderer) => void): void;
    private _toUnbind;
    private _attrCache;
    private _styleCache;
    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(): DomWrapper;
    getChildAt(i: any): DomWrapper;
    getChildCount(): number;
    getNativeElement(): any;
    height(): number;
    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(): WebComponentWrapper;
    querySelectorAll(selector: string): WebComponentWrapper[];
}
export interface AngularWrapperPosition {
    left: number;
    top: number;
}
