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;
    get index(): number;
    postRender(): void;
    private _isDirty;
    get isDirty(): boolean;
    set isDirty(a: 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;
    get q(): number;
    set q(a: number);
    private n;
    get p(): number;
    set p(a: 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;
    get al(): IMapRenderDeferralHandler;
    set al(a: IMapRenderDeferralHandler);
    ao: XamMultiScaleTileSource;
    ca: Point;
    b8: Point;
    a3: number;
    a0: number;
    av: boolean;
    aj: IEasingFunction;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected bo(a: string, b: any, c: any): void;
    private a8;
    private a9;
    private by;
    bj(a: number, b: number, c: number, d: number): void;
    private ay;
    private b9;
    private a1;
    private bz;
    b0(): void;
    private aw;
    private a6;
    bx(a: boolean): void;
    private au;
    bw(): void;
    private b2;
    private bv;
    private am;
    bf(a: Tile, b: WriteableBitmap): void;
    private aq;
    private get ar();
    private set ar(value);
    private readonly ax;
    at(): boolean;
    imageTilesReady: (sender: any, e: EventArgs) => void;
    private as;
    bk(): void;
    b1(a: Tile): void;
    private bg;
    bi(): void;
    cb: Rect;
    bp(): void;
    br(a: any): void;
    bs(a: RenderingContext): void;
    bt(a: DomRenderer): void;
    bu(a: Rect): void;
    ag: CanvasRenderScheduler;
    bn(): void;
    imagesChanged: (sender: any, e: EventArgs) => void;
    bh(): void;
    downloadingImage: (sender: any, args: DownloadingMultiScaleImageEventArgs) => void;
    cancellingImage: (sender: any, args: CancellingMultiScaleImageEventArgs) => void;
    bm(a: DownloadingMultiScaleImageEventArgs): void;
    bl(a: CancellingMultiScaleImageEventArgs): void;
    private az;
    get a2(): number;
    bq(a: number): void;
    get a7(): number;
    set a7(a: number);
    static $$p: string[];
}
