import { Result } from '@fgv/ts-utils'; import { JsonObject } from '@fgv/ts-json-base'; import * as TsRes from '@fgv/ts-res'; import { ICompileOptions } from './options'; /** * Information about compiled resources */ export interface IResourceInfo { totalResources: number; totalCandidates: number; filteredResources: number; filteredCandidates: number; resourceTypes: string[]; qualifiers: string[]; context?: JsonObject; } export interface IFilteredManager { original: TsRes.Resources.ResourceManagerBuilder; manager: TsRes.Resources.ResourceManagerBuilder; context?: JsonObject; } /** * Compiled resource blob */ export interface IResourceBlob { resources?: TsRes.ResourceJson.Json.IResourceCollectionDecl; compiledCollection?: TsRes.ResourceJson.Compiled.ICompiledResourceCollection; bundle?: TsRes.Bundle.IBundle; metadata?: IResourceInfo; } /** * Main resource compiler class */ export declare class ResourceCompiler { private readonly _options; private _systemConfiguration?; constructor(options: ICompileOptions); /** * Compiles resources according to the configured options */ compile(): Promise>; /** * Validates resources without compilation */ validate(): Promise>; /** * Gets information about the resources */ getInfo(): Promise>; /** * Loads and validates the system configuration */ private _loadConfiguration; /** * Loads resources from the input path using the configured system */ private _loadResources; /** * Imports resources from the input path using ImportManager */ private _importResources; /** * Applies filters to imported resources */ private _applyFilters; /** * Generates the output blob */ private _generateBlob; /** * Generates a compiled resource collection blob */ private _generateCompiledBlob; /** * Generates a source format blob (legacy format) */ private _generateSourceBlob; /** * Generates a bundle blob */ private _generateBundleBlob; /** * Generates resource information */ private _generateResourceInfo; /** * Writes the output blob to the specified output path */ private _writeOutput; } //# sourceMappingURL=compiler.d.ts.map