import type { RequestFn } from './lib/requestFn.js';
export type QraftPredefinedParameterValue<TValue> = TValue | (() => Promise<TValue | undefined>) | undefined;
export type InputPredefinedParametersItem<TValue> = {
    requestPattern: string;
    parameters: Array<{
        in: 'header' | 'query' | 'cookie';
        name: string;
        value: QraftPredefinedParameterValue<TValue>;
    }>;
};
type TargetPredefinedParametersMethods = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options' | 'head' | 'trace';
export type TargetPredefinedParametersItem = {
    requestPattern: string;
    methods: Array<TargetPredefinedParametersMethods> | ReadonlyArray<Readonly<TargetPredefinedParametersMethods>>;
    paths: Array<string> | ReadonlyArray<Readonly<string>>;
};
export declare function qraftPredefinedParametersRequestFn<TInputPredefinedParametersItem extends InputPredefinedParametersItem<any>, TData, TError>(inputPredefinedParameters: Array<TInputPredefinedParametersItem> | ReadonlyArray<Readonly<TInputPredefinedParametersItem>>, targetPredefinedParameters: Array<TargetPredefinedParametersItem> | ReadonlyArray<Readonly<TargetPredefinedParametersItem>>, requestFn: RequestFn<TData, TError>): RequestFn<TData, TError>;
export {};
//# sourceMappingURL=qraftPredefinedParametersRequestFn.d.ts.map