import type { ApiClient } from '@playdrop/api-client';
import type { AppResponse, UserResponse } from '@playdrop/types';
import { type ParsedSurfaceTargets } from '../catalogue-utils';
export type ResolvedDevTarget = {
    appName: string;
    htmlPath: string;
    cataloguePath: string | null;
    surfaceTargets: ParsedSurfaceTargets;
    ecsPath?: string | null;
    serverScriptPath?: string | null;
};
export type ProjectInfo = {
    projectDir: string | null;
    packageJsonPath: string | null;
    packageJson?: any;
};
export declare function createDevError(code: string, message: string): Error;
export declare function isNetworkError(error: unknown): boolean;
export declare function fetchDevUser(client: ApiClient): Promise<UserResponse>;
export declare function fetchDevUsername(client: ApiClient): Promise<string>;
export declare function assertAppRegistered(client: ApiClient, creatorUsername: string, appName: string): Promise<AppResponse>;
export declare function resolveDevTarget(targetArg: string | undefined, appOption: string | undefined): ResolvedDevTarget;
export declare function findProjectInfo(htmlPath: string): ProjectInfo;
export declare function formatProjectLabel(projectInfo: ProjectInfo): string | null;
