import { type AssetCreator } from '../open-cloud/open-cloud-client.js'; /** The two lookups an owner can be inferred from; `OpenCloudClient` is one. */ export interface AssetCreatorSource { getUniverseOwnerAsync(universeId: number): Promise; getApiKeyUserIdAsync(): Promise; } export interface ResolveAssetCreatorOptions { userId?: number; groupId?: number; /** The universe of the nearest deploy.nevermore.json, when there is one. */ universeId?: number; source: AssetCreatorSource; /** Told when an inference had to be skipped, so the fallback is not silent. */ onFallback?: (message: string) => void; } export interface ResolvedAssetCreator { creator: AssetCreator; /** Why this owner, for the line that tells the user who it will be. */ reason: string; } export declare function formatAssetCreator(creator: AssetCreator): string; /** * Decide who owns newly uploaded assets, so a bare * `nevermore deploy asset upload icon.png` works. * * An explicit flag wins. Otherwise the owner of the surrounding project's * universe is preferred over the API key's owner: an experience can only be * relied on to load assets its own creator owns, so in a group's game the * person holding the key is the wrong owner. */ export declare function resolveAssetCreatorAsync(options: ResolveAssetCreatorOptions): Promise; //# sourceMappingURL=asset-creator.d.ts.map