import * as z from "zod/v4"; /** * Extract the account ID from a Harness account-scoped API key. * Supported formats: * - pat... * - sat... * Returns undefined if the token doesn't match a supported format. */ export declare function extractAccountIdFromToken(apiKey: string): string | undefined; export declare const ConfigSchema: z.ZodPipe, z.ZodDefault>>; HARNESS_API_KEY: z.ZodPipe, z.ZodOptional>; HARNESS_ACCOUNT_ID: z.ZodPipe, z.ZodOptional>; HARNESS_BASE_URL: z.ZodPipe, z.ZodDefault>; HARNESS_ORG: z.ZodPipe, z.ZodOptional>; HARNESS_PROJECT: z.ZodPipe, z.ZodOptional>; HARNESS_DEFAULT_ORG_ID: z.ZodPipe, z.ZodOptional>; HARNESS_DEFAULT_PROJECT_ID: z.ZodPipe, z.ZodOptional>; HARNESS_API_TIMEOUT_MS: z.ZodDefault>; HARNESS_MAX_RETRIES: z.ZodDefault>; MCP_SESSION_TTL_MS: z.ZodDefault>; LOG_LEVEL: z.ZodPipe, z.ZodDefault>>; HARNESS_TOOLSETS: z.ZodPipe, z.ZodOptional>; HARNESS_MAX_BODY_SIZE_MB: z.ZodDefault>; HARNESS_RATE_LIMIT_RPS: z.ZodDefault>; HARNESS_READ_ONLY: z.ZodDefault, z.ZodTransform>>; HARNESS_SKIP_ELICITATION: z.ZodDefault, z.ZodTransform>>; HARNESS_AUTO_APPROVE_RISK: z.ZodPipe, z.ZodOptional>>; HARNESS_ALLOW_HTTP: z.ZodDefault, z.ZodTransform>>; HARNESS_MCP_ALLOWED_HOSTS: z.ZodPipe, z.ZodOptional>, z.ZodTransform>; HARNESS_MCP_AUTH_TOKEN: z.ZodPipe, z.ZodOptional>; HARNESS_MCP_ALLOW_UNAUTHENTICATED_HTTP: z.ZodDefault, z.ZodTransform>>; HARNESS_MCP_TRUST_PROXY: z.ZodDefault>; HARNESS_FME_API_KEY: z.ZodPipe, z.ZodOptional>; HARNESS_FME_BASE_URL: z.ZodPipe, z.ZodDefault>; HARNESS_LOG_UNSAFE_BODIES: z.ZodDefault, z.ZodTransform>>; HARNESS_PIPELINE_VERSION: z.ZodOptional>; HARNESS_AUDIT_FILE: z.ZodPipe, z.ZodOptional>; HARNESS_AUDIT_WEBHOOK_URL: z.ZodPipe, z.ZodOptional>; HARNESS_AUDIT_WEBHOOK_TOKEN: z.ZodPipe, z.ZodOptional>; HARNESS_AUDIT_WEBHOOK_BATCH_SIZE: z.ZodPipe, z.ZodDefault>>; HARNESS_AUDIT_WEBHOOK_FLUSH_MS: z.ZodPipe, z.ZodDefault>>; HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY: z.ZodPipe, z.ZodDefault>>; HARNESS_SEARCH_PROVIDER: z.ZodPipe, z.ZodDefault>>; HARNESS_SEARCH_SERVICE_URL: z.ZodPipe, z.ZodOptional>; HARNESS_SEARCH_SERVICE_HEADERS: z.ZodPipe, z.ZodOptional>; HARNESS_HF_CACHE_DIR: z.ZodPipe, z.ZodDefault>; }, z.core.$strip>, z.ZodTransform<{ HARNESS_API_KEY: string; HARNESS_ACCOUNT_ID: string; HARNESS_ORG: string | undefined; HARNESS_PROJECT: string | undefined; HARNESS_AUTO_APPROVE_RISK: "none" | "low_write" | "medium_write" | "high_write" | "all"; HARNESS_MCP_MODE: "single-user" | "multi-user"; HARNESS_BASE_URL: string; HARNESS_API_TIMEOUT_MS: number; HARNESS_MAX_RETRIES: number; MCP_SESSION_TTL_MS: number; LOG_LEVEL: "error" | "debug" | "info" | "warn"; HARNESS_MAX_BODY_SIZE_MB: number; HARNESS_RATE_LIMIT_RPS: number; HARNESS_READ_ONLY: boolean; HARNESS_SKIP_ELICITATION: boolean; HARNESS_ALLOW_HTTP: boolean; HARNESS_MCP_ALLOWED_HOSTS: string | undefined; HARNESS_MCP_ALLOW_UNAUTHENTICATED_HTTP: boolean; HARNESS_MCP_TRUST_PROXY: number; HARNESS_FME_BASE_URL: string; HARNESS_LOG_UNSAFE_BODIES: boolean; HARNESS_AUDIT_WEBHOOK_BATCH_SIZE: number; HARNESS_AUDIT_WEBHOOK_FLUSH_MS: number; HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY: number; HARNESS_SEARCH_PROVIDER: "none" | "local" | "remote"; HARNESS_HF_CACHE_DIR: string; HARNESS_TOOLSETS?: string | undefined; HARNESS_MCP_AUTH_TOKEN?: string | undefined; HARNESS_FME_API_KEY?: string | undefined; HARNESS_PIPELINE_VERSION?: "1" | "0" | undefined; HARNESS_AUDIT_FILE?: string | undefined; HARNESS_AUDIT_WEBHOOK_URL?: string | undefined; HARNESS_AUDIT_WEBHOOK_TOKEN?: string | undefined; HARNESS_SEARCH_SERVICE_URL?: string | undefined; HARNESS_SEARCH_SERVICE_HEADERS?: string | undefined; }, { HARNESS_MCP_MODE: "single-user" | "multi-user"; HARNESS_BASE_URL: string; HARNESS_API_TIMEOUT_MS: number; HARNESS_MAX_RETRIES: number; MCP_SESSION_TTL_MS: number; LOG_LEVEL: "error" | "debug" | "info" | "warn"; HARNESS_MAX_BODY_SIZE_MB: number; HARNESS_RATE_LIMIT_RPS: number; HARNESS_READ_ONLY: boolean; HARNESS_SKIP_ELICITATION: boolean; HARNESS_ALLOW_HTTP: boolean; HARNESS_MCP_ALLOWED_HOSTS: string | undefined; HARNESS_MCP_ALLOW_UNAUTHENTICATED_HTTP: boolean; HARNESS_MCP_TRUST_PROXY: number; HARNESS_FME_BASE_URL: string; HARNESS_LOG_UNSAFE_BODIES: boolean; HARNESS_AUDIT_WEBHOOK_BATCH_SIZE: number; HARNESS_AUDIT_WEBHOOK_FLUSH_MS: number; HARNESS_DIAGNOSE_LOG_FETCH_CONCURRENCY: number; HARNESS_SEARCH_PROVIDER: "none" | "local" | "remote"; HARNESS_HF_CACHE_DIR: string; HARNESS_API_KEY?: string | undefined; HARNESS_ACCOUNT_ID?: string | undefined; HARNESS_ORG?: string | undefined; HARNESS_PROJECT?: string | undefined; HARNESS_DEFAULT_ORG_ID?: string | undefined; HARNESS_DEFAULT_PROJECT_ID?: string | undefined; HARNESS_TOOLSETS?: string | undefined; HARNESS_AUTO_APPROVE_RISK?: "none" | "low_write" | "medium_write" | "high_write" | "all" | undefined; HARNESS_MCP_AUTH_TOKEN?: string | undefined; HARNESS_FME_API_KEY?: string | undefined; HARNESS_PIPELINE_VERSION?: "1" | "0" | undefined; HARNESS_AUDIT_FILE?: string | undefined; HARNESS_AUDIT_WEBHOOK_URL?: string | undefined; HARNESS_AUDIT_WEBHOOK_TOKEN?: string | undefined; HARNESS_SEARCH_SERVICE_URL?: string | undefined; HARNESS_SEARCH_SERVICE_HEADERS?: string | undefined; }>>; export type Config = z.infer; /** * Some integrations use literal placeholder credentials (for example "dummy"). * Those placeholders are not valid external Split/FME API credentials. */ export declare function isPlaceholderCredential(value: string | undefined): boolean; /** * Resolve the token used for Split/FME product APIs. * FME talks directly to api.split.io, so a Harness platform auth placeholder * cannot be reused there. */ export declare function resolveFmeApiKey(config: Pick): string | undefined; /** * Resolve the base URL for a given product backend. * - "harness" → undefined (uses the default client base URL) * - "fme" → HARNESS_FME_BASE_URL from config (defaults to https://api.split.io) */ export declare function resolveProductBaseUrl(config: Config, product: "harness" | "fme"): string | undefined; export declare function loadConfig(): Config; //# sourceMappingURL=config.d.ts.map