import type { ApiClient } from '@playdrop/api-client';
import { type AppAuthMode, type AppControllerMode, type AppMetadataAssetSpecSupport, type AppRuntimeAssetsResponse, type AppSurface, type AppType } from '@playdrop/types';
import type { AppTask } from '../catalogue';
export type LocalOwnedRuntimeAssetFileRecord = {
    absolutePath: string;
    contentType: string | null;
    sizeBytes: number | null;
};
export type LocalDevAppMetadata = {
    type: AppType;
    surfaceTargets: AppSurface[];
    authMode: AppAuthMode;
    controllerMode: AppControllerMode;
    previewable: boolean;
    assetSpecSupport: AppMetadataAssetSpecSupport[];
    version: string | null;
};
export type DevRuntimeAssetsResponse = AppRuntimeAssetsResponse & {
    localAppMetadata: LocalDevAppMetadata;
};
export type DevRuntimeAssetManifestRegistration = {
    response: DevRuntimeAssetsResponse;
    ownedAssetFiles: Record<string, Record<string, LocalOwnedRuntimeAssetFileRecord>>;
};
export declare function createEmptyDevRuntimeAssetManifest(): DevRuntimeAssetManifestRegistration;
export declare function buildLocalDevRuntimeAssetsUrl(appBaseUrl: string): string;
export declare function buildLocalDevRuntimeAssetFileUrl(appBaseUrl: string, ownedAssetName: string, role: string): string;
export declare function buildDevRuntimeAssetManifest(input: {
    client: ApiClient;
    apiBase: string;
    task: AppTask;
    creatorUsername: string;
    appBaseUrl: string;
}): Promise<DevRuntimeAssetManifestRegistration>;
