import { ControllerResponse } from '../types/common.types.js'; /** * Output format type */ type OutputFormat = 'toon' | 'json'; /** * @namespace IpAddressController * @description Controller responsible for handling IP address lookup logic. * It orchestrates calls to the ip-api.com service, applies defaults, * maps options, and formats the response using the formatter. */ /** * @function get * @description Fetches details for a specific IP address or the current device's IP. * Handles mapping controller options (like includeExtendedData) to service parameters (fields). * @memberof IpAddressController * @param {Object} args - Arguments containing ipAddress and options * @param {string} [args.ipAddress] - Optional IP address to look up. If omitted, the service will fetch the current device's public IP. * @param {boolean} [args.includeExtendedData=false] - Whether to include extended data fields requiring an API token * @param {boolean} [args.useHttps=true] - Whether to use HTTPS for the API request * @param {string} [args.jq] - JMESPath expression to filter the response * @param {OutputFormat} [args.outputFormat] - Output format (toon or json) * @returns {Promise} A promise that resolves to the standard controller response containing the formatted IP details. * @throws {McpError} Throws an McpError (handled by `handleControllerError`) if the service call fails or returns an error. */ declare function get(args?: { ipAddress?: string; includeExtendedData?: boolean; useHttps?: boolean; jq?: string; outputFormat?: OutputFormat; }): Promise; declare const _default: { get: typeof get; }; export default _default;