import { CredentialResolver } from '../auth/credentials.js'; import type { Config } from '../config/schema.js'; import type { ConnectorConfirmationPolicy, ConnectorDefinition, ConnectorInstallationPolicy } from './types.js'; export type ComposioConnection = { id: string; accountId?: string; providerConnectionId: string; toolkit: string; status: string; alias?: string; isDefault: boolean; isCurrentAuthorization: boolean; accountEmail?: string; workspace?: string; username?: string; identityKey?: string; workspaceId?: string; userId?: string; connectedAt?: string; lastError?: string; }; export type ComposioScope = 'read' | 'write' | 'admin'; export type ComposioTool = { slug: string; name?: string; description?: string; inputSchema?: unknown; scope: ComposioScope; curated: boolean; }; export type ComposioConnectorHealth = { toolkit: string; status: 'connected' | 'disconnected' | 'reauthorization_required' | 'degraded'; activeAccounts: number; affectedAccounts: number; checkedAt: string; message: string; recovery: 'none' | 'connect' | 'reconnect' | 'retry'; errorCode?: 'missing_credential' | 'unauthorized' | 'forbidden' | 'network' | 'timeout' | 'provider_error'; }; export declare function toolkitFromComposioSlug(slug: string): string | undefined; export declare function scopeForComposioAction(slug: string): { toolkit?: string; scope: ComposioScope; curated: boolean; }; export declare function isComposioActionAllowedByCatalog(slug: string): boolean; export declare function getComposioToolkitScope(config: Config | undefined, toolkit: string): ComposioScope; export declare function setComposioToolkitScope(config: Config, toolkit: string, scope: ComposioScope): void; export declare function canUseComposioAction(config: Config | undefined, slug: string): { ok: true; toolkit?: string; scope: ComposioScope; } | { ok: false; reason: string; toolkit?: string; scope: ComposioScope; }; export declare const COMPOSIO_CONNECTORS: readonly ConnectorDefinition[]; export declare function saveComposioApiKey(input: { secrets?: Record; }, resolver?: CredentialResolver): Promise; export declare function configureComposioApiKey(apiKey: string, resolver?: CredentialResolver): Promise; export declare function listComposioConnections(resolver?: CredentialResolver): Promise; export declare function inspectComposioConnectorHealth(toolkit: string, resolver?: CredentialResolver): Promise; export declare function getComposioInstallationPolicy(config: Config | undefined, toolkit: string): ConnectorInstallationPolicy; export declare function updateComposioInstallationPolicy(config: Config | undefined, toolkit: string, patch: { allowedAgentIds?: string[]; confirmationPolicy?: ConnectorConfirmationPolicy; selectedConnectionIds?: string[]; }): ConnectorInstallationPolicy; export declare function updateComposioConnection(id: string, patch: { alias?: string; isDefault?: boolean; }): ComposioConnection; export declare function refreshComposioConnection(id: string, resolver?: CredentialResolver): Promise; export declare function revokeComposioConnection(id: string, resolver?: CredentialResolver): Promise; export declare function startComposioAuthorize(connectorId: string, toolkit: string, resolver?: CredentialResolver): Promise<{ toolkit: string; connectUrl: string; connectionId?: string; }>; export declare function listComposioTools(toolkit: string, config?: Config, resolver?: CredentialResolver): Promise; export declare function executeComposioTool(params: { slug: string; arguments?: unknown; config?: Config; }, resolver?: CredentialResolver): Promise;