import { State } from '../shared/State';
import { type AmConfigEntityInterface, EntityType, PagedResult } from './ApiTypes';
export type GatewayAgentType = 'IdentityGatewayAgent';
export type JavaAgentType = 'J2EEAgent';
export type WebAgentType = 'WebAgent';
export type AgentType = GatewayAgentType | JavaAgentType | WebAgentType | EntityType;
export type AgentSkeleton = AmConfigEntityInterface;
/**
 * Get agent types
 * @returns {Promise} a promise that resolves to an object containing an array of agent types
 */
export declare function getAgentTypes({ state }: {
    state: State;
}): Promise<any>;
/**
 * Get agents
 * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)
 * @returns {Promise<PagedResult<AgentSkeleton>>} a promise that resolves to an object containing an array of agent objects of the specified type
 */
export declare function getAgentsByType({ agentType, state, }: {
    agentType: AgentType;
    state: State;
}): Promise<PagedResult<AgentSkeleton>>;
/**
 * Get all agents
 * @returns {Promise<PagedResult<AgentSkeleton>>} a promise that resolves to an object containing an array of agent objects
 */
export declare function getAgents({ state, }: {
    state: State;
}): Promise<PagedResult<AgentSkeleton>>;
/**
 * Find agent by id
 * @param {string} agentId agent id
 * @returns {Promise<AgentSkeleton[]>} a promise that resolves to an array with one or zero agent objects
 */
export declare function findAgentById({ agentId, state, }: {
    agentId: string;
    state: State;
}): Promise<AgentSkeleton[]>;
/**
 * Find agent by id
 * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)
 * @param {string} agentId agent id
 * @returns {Promise<AgentSkeleton[]>} a promise that resolves to an array with one or zero agent objects
 */
export declare function findAgentByTypeAndId({ agentType, agentId, state, }: {
    agentType: AgentType;
    agentId: string;
    state: State;
}): Promise<AgentSkeleton[]>;
/**
 * Get agent
 * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)
 * @param {string} agentId agent id
 * @returns {Promise<AgentSkeleton>} a promise that resolves to an object containing an agent object of the specified type
 */
export declare function getAgentByTypeAndId({ agentType, agentId, state, }: {
    agentType: AgentType;
    agentId: string;
    state: State;
}): Promise<any>;
/**
 * Put agent
 * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)
 * @param {string} agentId agent id
 * @param {AgentSkeleton} agentData agent object
 * @returns {Promise<AgentSkeleton>} a promise that resolves to an object containing an agent object
 */
export declare function putAgentByTypeAndId({ agentType, agentId, agentData, state, }: {
    agentType: AgentType;
    agentId: string;
    agentData: AgentSkeleton;
    state: State;
}): Promise<AgentSkeleton>;
/**
 * Delete agent
 * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)
 * @param {string} agentId agent id
 * @returns {Promise<AgentSkeleton>} a promise that resolves to an object containing an agent object
 */
export declare function deleteAgentByTypeAndId({ agentType, agentId, state, }: {
    agentType: AgentType;
    agentId: string;
    state: State;
}): Promise<AgentSkeleton>;
//# sourceMappingURL=AgentApi.d.ts.map