/*
* Copyright (c) 2026 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
sequenceable AgentCard..OHOS.AgentRuntime.AgentCard;
sequenceable OHOS.AAFwk.Want;
sequenceable OHOS.IRemoteObject;
interface OHOS.AAFwk.IAbilityConnection;
rawdata AgentCard..OHOS.AgentRuntime.AgentCardsRawData;
interface OHOS.AgentRuntime.IAgentManager {
void GetAllAgentCards([out] AgentCardsRawData cards);
void GetAgentCardsByBundleName([in] String bundleName, [out] AgentCardsRawData cards);
void GetAgentCardByAgentId([in] String bundleName, [in] String agentId, [out] AgentCard card);
void GetCallerAgentCardByAgentId([in] String agentId, [out] AgentCard card);
void RegisterAgentCard([in] AgentCard card);
void UpdateAgentCard([in] AgentCard card);
void DeleteAgentCard([in] String bundleName, [in] String agentId);
void ConnectAgentExtensionAbility([in] Want want, [in] IAbilityConnection connect);
void DisconnectAgentExtensionAbility([in] IAbilityConnection connect);
void ConnectServiceExtensionAbility([in] IRemoteObject callerToken, [in] Want want, [in] IAbilityConnection connect);
void DisconnectServiceExtensionAbility([in] IRemoteObject callerToken, [in] IAbilityConnection connect);
void NotifyLowCodeAgentComplete([in] String agentId);
void GetAgentCardTypeForConnect([inout] Want want, [out] int cardType);
void VerifyAgentConnectRequest([in] Want want, [in] IAbilityConnection connect, [out] String callerIdentity);
void VerifyAgentDisconnectRequests([in] List<Want> wants, [in] IAbilityConnection connect,
[out] String callerIdentity);
}