import type { AmigoFetch } from '../core/openapi-client';
import type { components, operations } from '../generated/api-types';
import type { OrgId, AgentId } from '../core/branded-types';
/** Resource for managing agents in the organization. */
export declare class AgentResource {
    private c;
    private orgId;
    constructor(c: AmigoFetch, orgId: OrgId);
    /** Create a new agent for the organization. */
    createAgent(options: {
        body: components['schemas']['organization__create_agent__Request'];
        headers?: operations['create-agent']['parameters']['header'];
    }): Promise<{
        id: string;
    }>;
    /** List agents for the organization. */
    getAgents(options?: {
        query?: operations['get-agents']['parameters']['query'];
        headers?: operations['get-agents']['parameters']['header'];
    }): Promise<{
        agents: components["schemas"]["organization__get_agents__Response__AgentInstance"][];
        has_more: boolean;
        continuation_token: number | null;
    }>;
    /** Delete an agent by ID. */
    deleteAgent(options: {
        agentId: AgentId;
        headers?: operations['delete-agent']['parameters']['header'];
    }): Promise<void>;
    /** Create a new version of an agent. */
    createAgentVersion(options: {
        agentId: AgentId;
        body: components['schemas']['organization__create_agent_version__Request'];
        query?: operations['create-agent-version']['parameters']['query'];
        headers?: operations['create-agent-version']['parameters']['header'];
    }): Promise<{
        version: number;
        created_at: string;
    }>;
    /** Get versions of an agent. */
    getAgentVersions(options: {
        agentId: AgentId;
        query?: operations['get-agent-versions']['parameters']['query'];
        headers?: operations['get-agent-versions']['parameters']['header'];
    }): Promise<{
        agent_versions: components["schemas"]["organization__get_agent_versions__Response__AgentInstance"][];
        has_more: boolean;
        continuation_token: number | null;
    }>;
    /** Alias for getAgents. */
    list(options?: Parameters<AgentResource['getAgents']>[0]): Promise<{
        agents: components["schemas"]["organization__get_agents__Response__AgentInstance"][];
        has_more: boolean;
        continuation_token: number | null;
    }>;
    /** Alias for createAgent. */
    create(options: Parameters<AgentResource['createAgent']>[0]): Promise<{
        id: string;
    }>;
    /** Alias for deleteAgent. */
    delete(options: Parameters<AgentResource['deleteAgent']>[0]): Promise<void>;
}
