import { z } from 'zod';
import { DefaultMCPClient } from '../MCPClient';
import { DefaultMCPClientConfig } from '../defaults';
import type { CloudRegion } from '../../../utils/types';
export declare const CodexMCPConfig: z.ZodObject<{
    mcpServers: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
        command: z.ZodOptional<z.ZodString>;
        args: z.ZodOptional<z.ZodArray<z.ZodString>>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strip>, z.ZodObject<{
        url: z.ZodString;
        headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strip>]>>;
}, z.core.$loose>;
export type CodexMCPConfig = z.infer<typeof DefaultMCPClientConfig>;
export declare class CodexMCPClient extends DefaultMCPClient {
    name: string;
    constructor();
    isClientSupported(): Promise<boolean>;
    getConfigPath(): Promise<string>;
    isServerInstalled(local?: boolean): Promise<boolean>;
    addServer(apiKey?: string, selectedFeatures?: string[], local?: boolean, zone?: CloudRegion): Promise<{
        success: boolean;
    }>;
    removeServer(local?: boolean): Promise<{
        success: boolean;
    }>;
}
export default CodexMCPClient;
