import { PromiseWrapper, Bounds, ImageType } from "../base/utilities"; import { ISecurityDomain } from "../avm2/nat/ISecurityDomain"; import { LoaderInfo } from "./display/LoaderInfo"; import { AXApplicationDomain } from "../avm2/run/AXApplicationDomain"; import { AXClass } from '../avm2/run/AXClass'; /** * Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ export interface IAssetResolver { registerFont(symbol: EagerlyResolvedSymbol, data: Uint8Array): void; registerImage(symbol: EagerlyResolvedSymbol, imageType: ImageType, data: Uint8Array, alphaData: Uint8Array): void; } export interface EagerlyResolvedSymbol { syncId: number; id: number; ready: boolean; resolveAssetPromise: PromiseWrapper; resolveAssetCallback: (data: any) => void; } export interface SymbolData { id: number; className: string; env: { app: AXApplicationDomain; }; } /** * TODO document */ export declare class Symbol { ready: boolean; resolveAssetPromise: PromiseWrapper; data: any; isAVM1Object: boolean; avm1Context: any; symbolClass: AXClass; constructor(data: SymbolData, symbolDefaultClass: AXClass); get id(): number; } export declare class DisplaySymbol extends Symbol { fillBounds: Bounds; lineBounds: Bounds; scale9Grid: Bounds; dynamic: boolean; constructor(data: SymbolData, symbolClass: AXClass, dynamic: boolean); _setBoundsFromData(data: any): void; } export declare class BinarySymbol extends Symbol { buffer: Uint8Array; byteLength: number; constructor(data: SymbolData, sec: ISecurityDomain); static FromData(data: any, loaderInfo: LoaderInfo): BinarySymbol; } export declare class SoundStart { soundId: number; soundInfo: any; constructor(soundId: number, soundInfo: any); }