import { ActionBuilder, ChainBuilder, Duration, ScenarioBuilder, ProtocolBuilder } from "@gatling.io/core";
export interface Postman {
    /**
     * @param collectionPath - Path to an exported collection file in the project resources
     */
    fromResource(collectionPath: string): PostmanCollection;
}
export interface PostmanCollection extends PostmanCollectionFolder {
    /**
     * Inject an environment in the collection.
     *
     * @param variables - A dictionary of variables, or the path to an exported environment file in the project resources
     */
    environment(variables: Record<string, string> | string): PostmanCollection;
    /**
     * Inject global variables in the collection.
     *
     * @param variables - A dictionary of variables, or the path to an exported environment file in the project resources
     */
    globals(variables: Record<string, string> | string): PostmanCollection;
    /**
     * Inject a CSV data file in the collection.
     */
    csvDataFile(path: string): PostmanCollection;
    /**
     * Inject a JSON data file in the collection.
     */
    jsonDataFile(path: string): PostmanCollection;
    /**
     * Call at the start of a scenario to initialize variables.
     */
    initVariables: ChainBuilder;
    export: PostmanCollectionExports;
}
export interface PostmanCollectionExports {
    id: string;
    collection: string;
    environment: string;
    globals: string;
}
export interface PostmanCollectionFolder {
    /**
     * Move down one level to a folder contained in the current folder.
     *
     * @param folder - Name of a folder contained in the current folder
     */
    folder(folder: string): PostmanCollectionFolder;
    /**
     * Create a Gatling HTTP request from a Postman request contained in the current folder.
     *
     * @param request - Name of a request contained in the current folder
     * @param overrideName - Optionally override the Gatling request name, otherwise the Postman request name will be used
     */
    request(request: string, overrideName?: string): ActionBuilder;
    /**
     * Create a Gatling scenario from the list of requests contained in the current folder.
     *
     * @param name - Name of the scenario
     * @param options -
     */
    scenario(name: string, options?: ScenarioOptions): ScenarioBuilder;
}
export interface ScenarioOptions {
    /** Include requests in sub-folders, false by default. */
    recursive?: boolean;
    /** Include this pause time between requests, no pause by default. */
    pauses?: Duration;
}
export declare const postman: Postman;
export interface PostmanProtocolBuilder extends ProtocolBuilder {
}
export declare const postmanProtocol: (...collections: PostmanCollection[]) => PostmanProtocolBuilder;
