import { IHttpRequest as IPrismHttpRequest } from '@stoplight/prism-http';
import { HttpMethod, HttpNameValue, IHttpRequest, IServer } from '@stoplight/types';
import { AxiosRequestConfig } from 'axios';
import { Auth, ContentType, HeaderParam, IParam, ParamType, PathParam, QueryParam } from './types';
export declare class RequestStore {
    private _templatedPath;
    private _method;
    private _contentType;
    private _body;
    graphqlQuery: string;
    graphqlVariables: string;
    private _formDataParams;
    private _urlEncodedParams;
    private _headerParams;
    private _queryParams;
    private _pathParams;
    private _publicServers;
    get publicServers(): IServer[];
    set publicServers(value: IServer[]);
    private _auth?;
    private _timeout;
    private _validate;
    private _publicBaseUrl;
    get publicBaseUrl(): string;
    set publicBaseUrl(value: string);
    private _mockBaseUrl?;
    get mockBaseUrl(): string | undefined;
    set mockBaseUrl(value: string | undefined);
    private _shouldMock;
    get shouldMock(): boolean;
    set shouldMock(value: boolean);
    private get isContentTypeJson();
    toPartialHttpRequest(): Partial<IHttpRequest>;
    toAxios(): AxiosRequestConfig;
    toPrism(): IPrismHttpRequest;
    toHAR(): Request;
    generateCode(language: string, library?: string): string | null;
    get baseUrl(): string;
    get method(): HttpMethod;
    set method(method: HttpMethod);
    private get mockServer();
    get servers(): IServer[];
    get templatedPath(): string;
    set templatedPath(path: string);
    private get uri();
    get url(): string;
    set url(url: string);
    get queryParams(): QueryParam[];
    set queryParams(params: QueryParam[]);
    set query(query: HttpNameValue);
    setQueryParamsFromString: (queryString: string) => void;
    get pathParams(): PathParam[];
    set pathParams(params: PathParam[]);
    get headerParams(): HeaderParam[];
    set headerParams(headers: HeaderParam[]);
    set headers(headers: HttpNameValue);
    get activeContentTypeHeader(): IParam<string | undefined> | undefined;
    disableAllContentTypeHeaders(): void;
    get contentType(): ContentType;
    set contentType(contentType: ContentType);
    get body(): any;
    set body(body: any);
    get formDataParams(): Array<IParam<string | File>>;
    set formDataParams(formDataParams: Array<IParam<string | File>>);
    get urlEncodedParams(): Array<IParam<string>>;
    set urlEncodedParams(urlEncodedParams: Array<IParam<string>>);
    get bodyCount(): number;
    get auth(): Auth | undefined;
    set auth(auth: Auth | undefined);
    get hasAuth(): boolean;
    get timeout(): number;
    set timeout(timeout: number);
    get validate(): boolean;
    set validate(validate: boolean);
    get isValid(): boolean;
    setParam<T extends keyof IParam>(type: ParamType, _indexOrName: string | number, prop: T, value: IParam[T]): void;
    addParam(type: ParamType, key?: string, value?: IParam['value'], isEnabled?: boolean): void;
    removeParam(type: ParamType, _indexOrName: string | number): void;
}
