import { IAsset, ParserBase, ResourceDependency } from '@awayjs/core'; import { ISceneGraphFactory } from '@awayjs/scene'; import { ABCBlock, UnparsedTag, DictionaryEntry, EagerlyParsedDictionaryEntry } from '@awayjs/graphics'; import { SWFFile } from './SWFFile'; import { ISymbol } from './ISymbol'; /** * SWFParser provides a parser for the SWF data type. * Based on Shumway */ export declare class SWFParser extends ParserBase { static factory: ISceneGraphFactory; private pendingUpdateDelays; abcBlocks: ABCBlock[]; dictionary: DictionaryEntry[]; private fonts; private swfData; private env; symbolClassesMap: string[]; symbolClassesList: { id: number; className: string; }[]; private eagerlyParsedSymbolsMap; private eagerlyParsedSymbolsList; private _uncompressedLength; private _uncompressedLoadedLength; private _dataView; private _dataStream; private _decompressor; private _jpegTables; private _endTagEncountered; private _loadStarted; private _lastScanPosition; private _currentFrameLabels; private _currentSoundStreamHead; private _currentSoundStreamBlock; private _currentControlTags; private _currentActionBlocks; private _currentInitActionBlocks; private _currentExports; private _awayUnresolvedSymbols; get awayUnresolvedSymbols(): NumberMap; private _factory; private _symbolDecoder; private _progressState; private _isEncrypted; private _currentEncrActionBlocks; private _swfFile; get swfFile(): SWFFile; get factory(): ISceneGraphFactory; set factory(value: ISceneGraphFactory); onFactoryRequest(swfFile: SWFFile): void; soundExports: any; static ID: number; id: number; constructor(factory?: ISceneGraphFactory); /** * Indicates whether or not a given file extension is supported by the parser. * @param extension The file extension of a potential file to be parsed. * @return Whether or not the given file type is supported. */ static supportsType(extension: string): boolean; /** * Tests whether a data block can be parsed by the parser. * @param data The data block to potentially be parsed. * @return Whether or not the given data is supported. */ static supportsData(data: Uint8Array): boolean; /** * @inheritDoc */ resolveDependency(resourceDependency: ResourceDependency): void; /** * @inheritDoc */ resolveDependencyFailure(resourceDependency: ResourceDependency): void; /** * Resolve a dependency name * * @param resourceDependency The dependency to be resolved. */ resolveDependencyName(resourceDependency: ResourceDependency, asset: IAsset): string; private externalDependenciesCount; /** * @inheritDoc */ protected proceedParsing(): void; private parseSymbols; private myTestSprite; private _lockFinalize; registerAwayAsset(asset: IAsset, symbol: ISymbol): void; parseSymbolsToAwayJS(): void; textFormatAlignMap: string[]; dispose(): void; private updateTimers; private _buttonSounds; initSWFLoading(initialBytes: Uint8Array, length: number): void; computeHash(data: Uint8Array): Promise; finishLoading(): void; getSymbol(id: number): ISymbol | EagerlyParsedDictionaryEntry; getParsedTag(unparsed: UnparsedTag): any; private _readHeaderAndInitialize; private parseHeaderContents; private _processDecompressedData; private _scanLoadedData; private _scanTagsToOffset; /** * Parses tag header information at the current seek offset and stores it in the given object. * * Public so it can be used by tools to parse through entire SWFs. */ parseNextTagHeader(target: UnparsedTag): boolean; private Utf8ArrayToStr; private _scanTag; private _parseSpriteTimeline; private _parseMetaData; private _jumpToNextTag; private _emitTagSlopWarning; private _finishFrame; private _setFileAttributes; private _setSceneAndFrameLabelData; private _addControlTag; private _addLazySymbol; private decodeEmbeddedFont; private registerEmbeddedFont; private _decodeEmbeddedImage; } //# sourceMappingURL=SWFParser.d.ts.map