import { PostmanTransformer } from './PostmanTransformer.js';
import { HttpProject } from '../HttpProject.js';
import { ProjectFolder } from '../ProjectFolder.js';
import { ProjectRequest } from '../ProjectRequest.js';
import { IMultipartBody } from '../../lib/transformers/PayloadSerializer.js';
interface PostmanCollection {
    id: string;
    name: string;
    description: string;
    order: string[];
    folders?: PostmanFolder[];
    folders_order: string[];
    timestamp: number;
    synced: boolean;
    remote_id: number;
    owner: number;
    sharedWithTeam: boolean;
    subscribed: boolean;
    remoteLink: string;
    remoteLinkUpdatedAt: string;
    public: boolean;
    createdAt: number;
    updatedAt: number;
    write: boolean;
    published: boolean;
    favorite: boolean;
    requests: PostmanRequest[];
    variables?: PostmanVariable[];
}
interface PostmanRequest {
    id: string;
    name: string;
    time: number;
    headers: string;
    url: string;
    queryParams: PostmanParameter[];
    headerData: PostmanParameter[];
    pathVariableData: PostmanParameter[];
    preRequestScript: string;
    method: string;
    collectionId: string;
    data: string | PostmanBodyParam[] | null;
    dataMode: string;
    description: string;
    descriptionFormat: string;
    version: number;
    tests: string;
    currentHelper: string;
    rawModeData?: string;
}
interface PostmanVariable {
    disabled: boolean;
    key: string;
    value: string;
}
interface PostmanParameter {
    enabled: boolean;
    key: string;
    value: string;
    type: string;
}
interface PostmanBodyParam extends PostmanParameter {
    description: string;
}
interface PostmanFolder {
    name: string;
    description: string;
    collectionId: string;
    collection: string;
    order: string[];
    owner: number;
    folders_order: string[];
    createdAt: number;
    updatedAt: number;
    id: string;
    collection_id: string;
}
/**
 * Transformer for Postman backup file.
 */
export declare class PostmanBackupTransformer extends PostmanTransformer {
    transform(): Promise<HttpProject[]>;
    transformCollection(collection: PostmanCollection): Promise<HttpProject>;
    createProject(collection: PostmanCollection): HttpProject;
    setProjectVariables(project: HttpProject, collection: PostmanCollection): void;
    addFolder(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void>;
    addRequest(current: HttpProject | ProjectFolder, collection: PostmanCollection, id: string): Promise<void>;
    addRequestBody(created: ProjectRequest, request: PostmanRequest): Promise<void>;
    addUrlencodedBody(created: ProjectRequest, request: PostmanRequest): Promise<void>;
    addBinaryBody(created: ProjectRequest, request: PostmanRequest): Promise<void>;
    addParamsBody(created: ProjectRequest, request: PostmanRequest): Promise<void>;
    addParamsTextPart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void>;
    addParamsFilePart(body: IMultipartBody[], param: PostmanBodyParam): Promise<void>;
    addRawBody(created: ProjectRequest, request: PostmanRequest): Promise<void>;
}
export {};
//# sourceMappingURL=PostmanBackupTransformer.d.ts.map