import { listAgentEntries } from "../agents/agent-scope.js";
import type { AgentIdentityFile } from "../agents/identity-file.js";
import type { FasedAgentConfig } from "../config/config.js";
export type AgentSummary = {
    id: string;
    name?: string;
    identityName?: string;
    identityEmoji?: string;
    identitySource?: "identity" | "config";
    workspace: string;
    agentDir: string;
    model?: string;
    bindings: number;
    bindingDetails?: string[];
    routes?: string[];
    providers?: string[];
    isDefault: boolean;
};
type AgentEntry = NonNullable<NonNullable<FasedAgentConfig["agents"]>["list"]>[number];
type AgentTaskModels = AgentEntry["taskModels"];
type AgentModelProviders = AgentEntry["modelProviders"];
export type AgentIdentity = AgentIdentityFile;
export { listAgentEntries };
export declare function findAgentEntryIndex(list: AgentEntry[], agentId: string): number;
export declare function parseIdentityMarkdown(content: string): AgentIdentity;
export declare function loadAgentIdentity(workspace: string): AgentIdentity | null;
export declare function buildAgentSummaries(cfg: FasedAgentConfig): AgentSummary[];
export declare function applyAgentConfig(cfg: FasedAgentConfig, params: {
    agentId: string;
    name?: string;
    workspace?: string;
    agentDir?: string;
    activeModelProvider?: string | null;
    modelProviders?: AgentModelProviders | null;
    model?: string;
    taskModels?: AgentTaskModels | null;
}): FasedAgentConfig;
export declare function pruneAgentConfig(cfg: FasedAgentConfig, agentId: string): {
    config: FasedAgentConfig;
    removedBindings: number;
    removedAllow: number;
};
