/**
 * @fileoverview openchargemap_get_station — full record for one Open Charge Map station by numeric
 * OCM ID (verbose=true), with optional inline community comments and a computed reliability note.
 * @module mcp-server/tools/definitions/get-station.tool
 */
import { z } from '@cyanheads/mcp-ts-core';
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
import { CommentSchema } from './_station-schema.js';
export declare const getStation: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
    id: z.ZodNumber;
    includeComments: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>, z.ZodObject<{
    station: z.ZodObject<{
        id: z.ZodNumber;
        uuid: z.ZodString;
        title: z.ZodString;
        address: z.ZodObject<{
            line1: z.ZodOptional<z.ZodString>;
            town: z.ZodOptional<z.ZodString>;
            stateOrProvince: z.ZodOptional<z.ZodString>;
            postcode: z.ZodOptional<z.ZodString>;
            country: z.ZodOptional<z.ZodString>;
            countryCode: z.ZodOptional<z.ZodString>;
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
            accessComments: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        distance: z.ZodOptional<z.ZodNumber>;
        distanceUnit: z.ZodOptional<z.ZodEnum<{
            KM: "KM";
            Miles: "Miles";
        }>>;
        operator: z.ZodOptional<z.ZodString>;
        operatorId: z.ZodOptional<z.ZodNumber>;
        usageType: z.ZodOptional<z.ZodString>;
        isPayAtLocation: z.ZodOptional<z.ZodBoolean>;
        isMembershipRequired: z.ZodOptional<z.ZodBoolean>;
        isAccessKeyRequired: z.ZodOptional<z.ZodBoolean>;
        numberOfPoints: z.ZodOptional<z.ZodNumber>;
        status: z.ZodOptional<z.ZodString>;
        isOperational: z.ZodOptional<z.ZodBoolean>;
        dateLastVerified: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isRecentlyVerified: z.ZodOptional<z.ZodBoolean>;
        connections: z.ZodArray<z.ZodObject<{
            connectionTypeId: z.ZodOptional<z.ZodNumber>;
            connectionType: z.ZodOptional<z.ZodString>;
            level: z.ZodOptional<z.ZodString>;
            levelId: z.ZodOptional<z.ZodNumber>;
            powerKW: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            currentType: z.ZodOptional<z.ZodString>;
            amps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            voltage: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            quantity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        }, z.core.$strip>>;
        dataProvider: z.ZodOptional<z.ZodString>;
        generalComments: z.ZodOptional<z.ZodString>;
        usageCost: z.ZodOptional<z.ZodString>;
        dataProviderUrl: z.ZodOptional<z.ZodString>;
        dateLastStatusUpdate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        submissionStatus: z.ZodOptional<z.ZodString>;
        media: z.ZodOptional<z.ZodArray<z.ZodObject<{
            url: z.ZodString;
            comment: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        comments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            user: z.ZodOptional<z.ZodString>;
            commentType: z.ZodOptional<z.ZodString>;
            comment: z.ZodOptional<z.ZodString>;
            rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            dateCreated: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>;
    reliabilityNote: z.ZodOptional<z.ZodString>;
    attribution: z.ZodString;
}, z.core.$strip>, readonly [{
    readonly reason: "not_found";
    readonly code: JsonRpcErrorCode.NotFound;
    readonly when: "OCM returned an empty result for the given numeric ID (HTTP 200 with []) — no such station.";
    readonly recovery: "Verify the numeric OCM ID. Find a valid station first with openchargemap_find_stations.";
}, {
    readonly reason: "upstream_unavailable";
    readonly code: JsonRpcErrorCode.ServiceUnavailable;
    readonly retryable: true;
    readonly when: "OCM returned a non-2xx response or timed out.";
    readonly recovery: "Retry after a short delay. If it persists, OCM may be rate-limiting or down.";
}, {
    readonly reason: "auth_failed";
    readonly code: JsonRpcErrorCode.Unauthorized;
    readonly when: "OCM returned HTTP 403 — the API key is missing or invalid.";
    readonly recovery: "Set a valid OPENCHARGEMAP_API_KEY (free signup at openchargemap.org). This is a server configuration issue, not an input error.";
}], undefined>;
/** Render one comment line; shared shape with get_station_comments. */
export declare function renderComment(c: z.infer<typeof CommentSchema>): string;
//# sourceMappingURL=get-station.tool.d.ts.map