/**
 * @fileoverview Base handler factory implementation for standardized handler creation
 * @packageDocumentation
 */
import { BaseHandlerDeps, HandlerFactory } from './handler.interface.js';
import { ApiResponse } from '../../models/common.js';
/**
 * Creates a base handler factory with common functionality
 * @template TParams - The handler parameters type
 * @template TResult - The handler result type
 * @param handlerName - The name of the handler for logging
 * @param handlerLogic - The actual handler implementation
 * @returns A handler factory function
 */
export declare function createBaseHandlerFactory<TParams = unknown, TResult = ApiResponse>(handlerName: string, handlerLogic: (deps: BaseHandlerDeps, params: TParams) => Promise<TResult>): HandlerFactory<BaseHandlerDeps, TParams, TResult>;
/**
 * Creates default handler dependencies
 * @param overrides - Optional overrides for specific dependencies
 * @returns The complete handler dependencies
 */
export declare function createDefaultHandlerDeps(overrides?: Partial<BaseHandlerDeps>): BaseHandlerDeps;
/**
 * Wraps a handler result in an ApiResponse format
 * @param data - The data to wrap
 * @returns An ApiResponse with the data as JSON text
 */
export declare function wrapInApiResponse<T>(data: T): ApiResponse;
/**
 * Creates an error ApiResponse
 * @param error - The error to convert
 * @param defaultMessage - Default message if error parsing fails
 * @returns An ApiResponse with error information
 */
export declare function createErrorResponse(error: unknown, defaultMessage?: string): ApiResponse;
/**
 * Type guard to check if a value is an ApiResponse
 * @param value - The value to check
 * @returns True if the value is an ApiResponse
 */
export declare function isApiResponse(value: unknown): value is ApiResponse;
