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 t;
    get v(): number;
    set v(a: number);
    private s;
    get u(): number;
    set u(a: number);
    private n;
    get o(): number;
    set o(a: number);
    private l;
    get m(): boolean;
    set m(a: boolean);
    r: number;
    p: number;
    q: number;
    private j;
    get k(): XamMultiScaleImage;
    set k(a: XamMultiScaleImage);
    w(a: number, b: number, c: number): Uri;
    protected abstract x(a: number, b: number, c: number, d: IList$1<any>): void;
    protected y(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;
    cm: Point;
    ck: Point;
    a5: number;
    a2: number;
    at: boolean;
    av: boolean;
    ax: boolean;
    aj: IEasingFunction;
    bf: string;
    bc(): string;
    bj: string;
    bd(): string;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected bx(a: string, b: any, c: any): void;
    protected v(): void;
    private ba;
    private bb;
    private b7;
    bs(a: number, b: number, c: number, d: number): void;
    private a0;
    private cl;
    private a3;
    private b8;
    b9(): void;
    private ay;
    private a8;
    b6(a: boolean): void;
    private aw;
    b5(): void;
    private cb;
    private b4;
    private am;
    bo(a: Tile, b: WriteableBitmap): void;
    private aq;
    private get ar();
    private set ar(value);
    private readonly az;
    au(): boolean;
    imageTilesReady: (sender: any, e: EventArgs) => void;
    private as;
    bt(): void;
    ca(a: Tile): void;
    private bp;
    br(): void;
    cn: Rect;
    by(): void;
    b0(a: any): void;
    b1(a: RenderingContext): void;
    b2(a: DomRenderer): void;
    b3(a: Rect): void;
    ag: CanvasRenderScheduler;
    bw(): void;
    imagesChanged: (sender: any, e: EventArgs) => void;
    bq(): void;
    downloadingImage: (sender: any, args: DownloadingMultiScaleImageEventArgs) => void;
    cancellingImage: (sender: any, args: CancellingMultiScaleImageEventArgs) => void;
    bv(a: DownloadingMultiScaleImageEventArgs): void;
    bu(a: CancellingMultiScaleImageEventArgs): void;
    private a1;
    get a4(): number;
    bz(a: number): void;
    get a9(): number;
    set a9(a: number);
    static $$p: string[];
}
