import { HttpProject, IHttpProject } from "@api-client/core/build/browser.js";
import { ArcExportObject } from "@api-client/core/build/legacy.js";
import { StoreBindings } from "../../bindings/base/StoreBindings.js";
export interface IAnalyzeResult {
    /**
     * Indicates that there was an error during import analysis.
     */
    error?: boolean;
    /**
     * Error message.
     */
    message?: string;
    /**
     * The source application for the file.
     */
    source?: 'arc' | 'postman' | 'api-client';
    /**
     * The name of the project to import
     */
    name?: string;
    /**
     * Schema version, if any.
     */
    version?: string;
}
/**
 * A helper class that controls data import logic.
 */
export declare class DataImportProcessor {
    #private;
    importData: unknown | undefined;
    analysis?: IAnalyzeResult;
    signal: AbortSignal;
    constructor();
    abort(): void;
    fromFile(file: File): Promise<IAnalyzeResult>;
    importProject(db: StoreBindings, space: string, parent?: string): Promise<void>;
    protected analyzeData(data: unknown): IAnalyzeResult;
    /**
     * Checks whether the passed data contain Postman collection (v2 or v2.1).
     */
    protected isPostmanCollection(data: unknown): boolean;
    protected analyzePostman(data: unknown): IAnalyzeResult;
    /**
     * Checks whether the passed data contain ARC's project
     */
    protected isArcProject(data: unknown): boolean;
    protected analyzeArcProject(data: unknown): IAnalyzeResult;
    /**
     * Checks whether the data is an HttpProject.
     */
    protected isHttpProject(data: unknown): boolean;
    protected analyzeHttpProject(data: unknown): IAnalyzeResult;
    protected importArcProject(importData: ArcExportObject, db: StoreBindings, space: string, parent?: string): Promise<void>;
    protected importHttpProject(importData: IHttpProject, db: StoreBindings, space: string, parent?: string): Promise<void>;
    protected importPostmanProject(importData: unknown, analysis: IAnalyzeResult, db: StoreBindings, space: string, parent?: string): Promise<void>;
    protected upsert(data: HttpProject, db: StoreBindings, space: string, parent?: string): Promise<void>;
}
//# sourceMappingURL=DataImportProcessor.d.ts.map