import { AxiosRequestConfig } from 'axios';
import createValues from './createValues';
import compositeParams from './compositeParams';
export declare const httpMethods: readonly ["get", "post", "put", "delete", "head", "patch"];
export declare type HttpMethod = typeof httpMethods[number];
export declare type MockResponse = [number, any?, {
    [key: string]: any;
}?] | {
    status: number;
    data?: any;
    headers?: {
        [key: string]: any;
    };
};
export declare type MockMethods = {
    [T in HttpMethod]?: ({ config, values, params, data }: {
        config: AxiosRequestConfig;
        values: ReturnType<typeof createValues>;
        params: ReturnType<typeof compositeParams>;
        data: any;
    }) => MockResponse | Promise<MockResponse>;
};
declare type Handler = [RegExp, string, MockMethods[HttpMethod]];
export declare type HandlersSet = {
    [key in HttpMethod]?: Handler[];
};
export declare type MockRoute = {
    path: string;
    methods: MockMethods;
}[];
export {};
//# sourceMappingURL=types.d.ts.map