import { MultiInstanceProductboardConfig, ProductboardInstanceConfig } from '../types.js';
import { AxiosInstance } from 'axios';
declare module 'axios' {
    interface AxiosRequestConfig {
        toolName?: string;
    }
}
export interface ToolContext {
    config: MultiInstanceProductboardConfig;
    instance: ProductboardInstanceConfig;
    workspaceId?: string;
    axios: AxiosInstance;
}
/**
 * Create tool context with configuration and HTTP client
 */
export declare function createToolContext(instanceName?: string, workspaceId?: string): ToolContext;
/**
 * Wrapper function to handle common tool patterns
 */
export declare function withContext<T>(handler: (context: ToolContext) => Promise<T>, instanceName?: string, workspaceId?: string, toolName?: string): Promise<T>;
/**
 * Helper to format API responses consistently
 */
export declare function formatResponse(data: any, includeRaw?: boolean): string | {
    formatted: string;
    raw: any;
};
/**
 * Helper to handle pagination
 */
export declare function handlePagination<T>(context: ToolContext, endpoint: string, params?: Record<string, any>, maxPages?: number): Promise<T[]>;
