/**
 * Input for verify_integrations tool.
 */
export interface VerifyIntegrationsInput {
    /** Absolute path to project root (looks for .planu/integrations.json). */
    projectPath: string;
    /** Optional explicit endpoints to verify (overrides config file). */
    endpoints?: IntegrationEndpoint[];
    /** Timeout per request in ms (default: 10000). */
    timeout?: number;
    /** Fail fast on first failing endpoint (default: false). */
    failFast?: boolean;
}
/**
 * Single endpoint to verify.
 */
export interface IntegrationEndpoint {
    /** Human-readable name. */
    name: string;
    /** URL to ping. */
    url: string;
    /** HTTP method: GET | HEAD | POST (default: HEAD). */
    method?: 'GET' | 'HEAD' | 'POST';
    /** Expected status code or range start (default: 200). */
    expectedStatus?: number;
    /** Optional Authorization header value. */
    authorization?: string;
    /** Optional JSON schema to validate response body against. */
    responseSchema?: Record<string, unknown>;
    /** Optional expected Content-Type. */
    expectedContentType?: string;
}
/**
 * Result for a single endpoint check.
 */
export interface IntegrationCheckResult {
    /** Endpoint name. */
    name: string;
    /** Target URL. */
    url: string;
    /** Whether the check passed. */
    pass: boolean;
    /** HTTP status code (0 if network error). */
    statusCode: number;
    /** Response latency in ms (-1 if error). */
    latencyMs: number;
    /** Error details if failed. */
    error?: string;
    /** Schema validation result (undefined if no schema configured). */
    schemaValid?: boolean;
    /** Schema validation errors if schemaValid === false. */
    schemaErrors?: string[];
}
/**
 * Complete integration verification report.
 */
export interface IntegrationReport {
    [key: string]: unknown;
    /** Overall pass (all endpoints passed). */
    pass: boolean;
    /** Total endpoints checked. */
    totalEndpoints: number;
    /** Passed count. */
    passedCount: number;
    /** Failed count. */
    failedCount: number;
    /** Total duration ms. */
    totalDurationMs: number;
    /** Per-endpoint results. */
    results: IntegrationCheckResult[];
}
/**
 * Result returned by the verify integrations engine.
 */
export interface VerifyIntegrationsResult {
    report: IntegrationReport;
    /** Human-readable summary (≤200 tokens). */
    humanSummary: string;
}
//# sourceMappingURL=verify-integrations.d.ts.map