import type { Dictionary } from "../base/interfaces/UtilityTypes";
import type { ParamsToGetModelsAndCategoriesUrl, ParamsToGetSchemaInfoUrl } from "./imodel/IModelOperationParams";
import type { ParamsToGetTemplateListUrl } from "./template/TemplateOperationParams";
import type { ParamsToGetTestListUrl } from "./test/TestOperationParams";
import type { ParamsToGetSuppressionRuleListUrl } from "./suppressionRule/SuppressionRuleOperationParams";
import type { ParamsToGetRunListUrl } from "./run/RunOperationParams";
declare type UrlParameterValue = string | number;
export declare class ClashDetectionApiUrlFormatter {
    protected readonly baseUrl: string;
    constructor(baseUrl: string);
    getSingleRuleUrl(params: {
        ruleId: string;
    }): string;
    getRuleListUrl(params: {
        urlParams?: ParamsToGetSuppressionRuleListUrl;
    }): string;
    createRuleUrl(): string;
    updateRuleUrl(params: {
        ruleId: string;
    }): string;
    deleteRuleUrl(params: {
        ruleId: string;
    }): string;
    getTemplateListUrl(params: {
        urlParams?: ParamsToGetTemplateListUrl;
    }): string;
    getSingleTestUrl(params: {
        testId: string;
    }): string;
    getTestListUrl(params: {
        urlParams?: ParamsToGetTestListUrl;
    }): string;
    createTestUrl(): string;
    updateTestUrl(params: {
        testId: string;
    }): string;
    deleteTestUrl(params: {
        testId: string;
    }): string;
    getSingleRunUrl(params: {
        runId: string;
    }): string;
    getRunListUrl(params: {
        urlParams?: ParamsToGetRunListUrl;
    }): string;
    runTestUrl(): string;
    deleteRunUrl(params: {
        runId: string;
    }): string;
    getResultUrl(params: {
        resultId: string;
    }): string;
    getSchemaInfoUrl(params: {
        iModelId: string;
        urlParams?: ParamsToGetSchemaInfoUrl;
    }): string;
    extractSchemaInfoUrl(params: {
        iModelId: string;
    }): string;
    getModelsAndCategoriesUrl(params: {
        iModelId: string;
        urlParams?: ParamsToGetModelsAndCategoriesUrl;
    }): string;
    extractModelsAndCategoriesUrl(params: {
        iModelId: string;
    }): string;
    protected formQueryString(urlParameters: Dictionary<UrlParameterValue> | undefined): string;
    private shouldAppendToUrl;
    private appendToQueryString;
    private stringify;
}
export {};
//# sourceMappingURL=ClashDetectionApiUrlFormatter.d.ts.map