/**
 * Agent Config Store — persistent per-agent configuration with project + global fallback.
 *
 * Storage paths:
 *   - Project-level: `<cwd>/.qlogicagent/agent-configs.json`
 *   - User-level:    `~/.qlogicagent/profiles/<owner>/agent-configs.json`
 *
 * Merge strategy: project-level overrides take precedence.
 * Sensitive fields (apiKey) use file permissions 0o600 on Unix.
 */
import type { AgentConfig, AgentConfigStoreData, CustomAgentDef } from "../../protocol/wire/acp-agent-management.js";
export declare class AgentConfigStore {
    private data;
    private cwd;
    constructor(cwd?: string);
    /** Load config from disk. Project-level merges on top of user-level. */
    load(): Promise<void>;
    /** Get the full store data (for AcpDetector.setConfigStore). */
    getData(): AgentConfigStoreData;
    getAgentConfig(agentId: string): AgentConfig | null;
    setAgentConfig(agentId: string, config: AgentConfig): Promise<void>;
    removeAgentConfig(agentId: string): Promise<void>;
    getGatewayUrl(): string | undefined;
    setGatewayUrl(url: string): Promise<void>;
    registerCustomAgent(def: CustomAgentDef): Promise<void>;
    unregisterCustomAgent(agentId: string): Promise<void>;
    getCustomAgents(): Record<string, CustomAgentDef>;
    /** Save to user-level config. Restricts permissions for sensitive data. */
    private save;
}
