/**
 * MSW handler factory functions
 */
import { type RequestHandler } from 'msw';
import type { MockHandlerOptions, MockRequest, MockResponseFactory } from '../types';
/**
 * Create a single MSW handler
 */
export declare function createHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, options: MockHandlerOptions<T>): RequestHandler;
/**
 * Create multiple handlers from configuration
 */
export declare function createHandlers(handlerConfigs: Array<{
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    path: string;
    options: MockHandlerOptions;
}>): RequestHandler[];
/**
 * Create a GET handler
 */
export declare function createGetHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create a POST handler
 */
export declare function createPostHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create a PUT handler
 */
export declare function createPutHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create a PATCH handler
 */
export declare function createPatchHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create a DELETE handler
 */
export declare function createDeleteHandler<T = any>(path: string, response: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create a simple success response handler
 */
export declare function createSuccessHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, data: T | ((request: MockRequest) => T | Promise<T>), options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
/**
 * Create an error response handler
 */
export declare function createErrorHandler(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, error: {
    status: number;
    code: string;
    message: string;
    details?: any;
}, options?: Omit<MockHandlerOptions, 'response'>): RequestHandler;
/**
 * Create a handler that returns different responses based on conditions
 */
export declare function createConditionalHandler<T = any>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, conditions: Array<{
    condition: (request: MockRequest) => boolean | Promise<boolean>;
    response: MockResponseFactory<T>;
}>, fallbackResponse: MockResponseFactory<T>, options?: Omit<MockHandlerOptions<T>, 'response'>): RequestHandler;
//# sourceMappingURL=factory.d.ts.map