import { DataManager, LocalizationManager } from "../AssetsManager";
import { CharacterFinder } from "./CharacterFinder";
import { ConstellationFinder } from "./ConstellationFinder";
import { CostumeFinder } from "./CostumeFinder";
import { NamecardFinder } from "./NamecardFinder";
import { ProfilePictureFinder } from "./ProfilePictureFinder";
import { ReliquaryFinder } from "./ReliquaryFinder";
import { ReliquarySetFinder } from "./ReliquarySetFinder";
import { SkillFinder } from "./SkillFinder";
import { WeaponFinder } from "./WeaponFinder";
import { type IAssetAdapter } from "./adapters";
export * from "./adapters";
export * from "./CharacterFinder";
export * from "./NamecardFinder";
export * from "./WeaponFinder";
export declare class AssetsFinder {
    private data;
    private localization;
    adapter: IAssetAdapter;
    characters: CharacterFinder;
    namecards: NamecardFinder;
    costumes: CostumeFinder;
    weapons: WeaponFinder;
    reliquaries: ReliquaryFinder;
    reliquarySets: ReliquarySetFinder;
    constellations: ConstellationFinder;
    skills: SkillFinder;
    profilePictures: ProfilePictureFinder;
    constructor({ uiAssetsPath, adapter, dataManager, localizationManager, }?: {
        uiAssetsPath?: string;
        adapter?: IAssetAdapter;
        dataManager?: DataManager;
        localizationManager?: LocalizationManager;
    });
    getAssetPath(filename: string): string;
    /** Await any in-flight background work in the adapter (e.g. cache downloads). */
    flush(): Promise<void>;
    /** Resolve the given filenames (triggering caching) and await completion. */
    prefetch(filenames: string[]): Promise<void>;
    /**
     * Warm the adapter's cache: resolve any extra `filenames` (e.g. derived ones)
     * and await all pending downloads. Call after `fetchUser` so every icon the
     * models reference — including `weapon.awakenIcon` — is on disk.
     */
    warm(filenames?: string[]): Promise<void>;
}
