import type { ApiClient } from '@playdrop/api-client';
type PendingRelationRow = {
    fromNodeId: string;
    type: string;
    toRef: string;
    context: string;
};
export type UploadGraphState = {
    canonicalNodeByRef: Map<string, string>;
    localAppNodeByName: Map<string, string>;
    localAssetNodeByName: Map<string, string>;
    localPackNodeByNameVersion: Map<string, string>;
    ambiguousAppNames: Set<string>;
    ambiguousAssetNames: Set<string>;
    ambiguousPackNameVersions: Set<string>;
    pendingRelations: PendingRelationRow[];
};
export declare function buildEmptyGraphState(): UploadGraphState;
export declare function registerLocalRef(map: Map<string, string>, ambiguous: Set<string>, key: string, nodeId: string): void;
export declare function registerCanonicalNode(state: UploadGraphState, ref: string, nodeId: string): void;
export declare function appendPendingRelation(state: UploadGraphState, fromNodeId: string, type: string, toRef: string, context: string): void;
export declare function applyGraphOperations(client: ApiClient, state: UploadGraphState): Promise<void>;
export {};
