import { Base, Type, IList$1, INotifyPropertyChanged, Point, PropertyChangedEventArgs, EventArgs } from "./type";
import { ISchedulableRender } from "./ISchedulableRender";
import { Image } from "./Image";
import { DomRenderer, DomWrapper } from "./dom";
import { RenderingContext } from "./RenderingContext";
import { Tile } from "./Tile";
import { Rect } from "./Rect";
import { CanvasRenderScheduler } from "./CanvasRenderScheduler";
import { StackPool$1 } from "./StackPool$1";
import { WriteableBitmap } from "./WriteableBitmap";
import { Uri } from "./Uri";
import { CancellingMultiScaleImageEventArgs } from "./CancellingMultiScaleImageEventArgs";
import { DownloadingMultiScaleImageEventArgs } from "./DownloadingMultiScaleImageEventArgs";
import { IMapRenderDeferralHandler } from "./IMapRenderDeferralHandler";
import { DependencyObject } from "./DependencyObject";
import { Control } from "./Control";
import { IEasingFunction } from "./IEasingFunction";
/**
 * @hidden
 */
export declare class XamMultiScaleImageView extends Base implements ISchedulableRender {
    static $t: Type;
    protected b: XamMultiScaleImage;
    constructor(a: XamMultiScaleImage);
    private h;
    private at;
    private y;
    private aa;
    private z;
    ao(a: Image, b: number, c: number): void;
    r(a: Tile): void;
    u(a: Tile): void;
    private g;
    private q;
    private ab;
    private ac;
    private j;
    private readonly i;
    private downloadError;
    private downloadCompleted;
    a(a: number, b: WriteableBitmap, c: number, d: number): WriteableBitmap;
    am(a: Image): void;
    an(a: Image): void;
    f(): boolean;
    s(a: (arg1: boolean) => void): void;
    private p;
    private o;
    aq(): void;
    as(): void;
    ap(): void;
    ar(): void;
    t(): void;
    protected k: DomRenderer;
    protected m: DomWrapper;
    protected c: RenderingContext;
    ae(a: any): void;
    private af;
    aj(): void;
    readonly index: number;
    postRender(): void;
    private _isDirty;
    isDirty: boolean;
    ad(): void;
    undirty(a: boolean): void;
    protected au: Rect;
    private ak;
    d(): boolean;
    private al;
    private e;
    x(): void;
    ag(a: RenderingContext): void;
    private l;
    ah(a: DomRenderer): void;
    ai(a: Rect): void;
    preRender(): void;
    isValid(): boolean;
}
/**
 * @hidden
 */
export declare abstract class XamMultiScaleTileSource extends DependencyObject {
    static $t: Type;
    constructor(a: number, b: number, c: number, d: number, e: number);
    private o;
    q: number;
    private n;
    p: number;
    m: number;
    k: number;
    l: number;
    j: XamMultiScaleImage;
    r(a: number, b: number, c: number): Uri;
    protected abstract s(a: number, b: number, c: number, d: IList$1<any>): void;
    protected t(a: number, b: number, c: number, d: number): void;
}
/**
 * @hidden
 */
export declare class XamMultiScaleImage extends Control implements INotifyPropertyChanged {
    static $t: Type;
    constructor();
    ap: StackPool$1<Image>;
    an: XamMultiScaleImageView;
    private ak;
    al: IMapRenderDeferralHandler;
    ao: XamMultiScaleTileSource;
    ci: Point;
    cg: Point;
    a3: number;
    a0: number;
    av: boolean;
    aj: IEasingFunction;
    bc: string;
    ba(): string;
    bg: string;
    bb(): string;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected bu(a: string, b: any, c: any): void;
    private a8;
    private a9;
    private b4;
    bp(a: number, b: number, c: number, d: number): void;
    private ay;
    private ch;
    private a1;
    private b5;
    b6(): void;
    private aw;
    private a6;
    b3(a: boolean): void;
    private au;
    b2(): void;
    private b8;
    private b1;
    private am;
    bl(a: Tile, b: WriteableBitmap): void;
    private aq;
    private ar;
    private readonly ax;
    at(): boolean;
    imageTilesReady: (sender: any, e: EventArgs) => void;
    private as;
    bq(): void;
    b7(a: Tile): void;
    private bm;
    bo(): void;
    cj: Rect;
    bv(): void;
    bx(a: any): void;
    by(a: RenderingContext): void;
    bz(a: DomRenderer): void;
    b0(a: Rect): void;
    ag: CanvasRenderScheduler;
    bt(): void;
    imagesChanged: (sender: any, e: EventArgs) => void;
    bn(): void;
    downloadingImage: (sender: any, args: DownloadingMultiScaleImageEventArgs) => void;
    cancellingImage: (sender: any, args: CancellingMultiScaleImageEventArgs) => void;
    bs(a: DownloadingMultiScaleImageEventArgs): void;
    br(a: CancellingMultiScaleImageEventArgs): void;
    private az;
    readonly a2: number;
    bw(a: number): void;
    a7: number;
    static $$p: string[];
}
