import { CredentialResolver } from '../auth/credentials.js'; import type { ComposioSessionLike, ComposioSessionsClient, ComposioToolkitAuthState } from './composio-session-types.js'; import type { ConnectorActionMetadata, ConnectorConnection, ConnectorInstallationPolicy } from './types.js'; export declare function resolveComposioApiKey(resolver?: CredentialResolver): Promise; export declare function assertComposioAccessConfigured(resolver?: CredentialResolver): Promise<'byok' | 'managed'>; export type ComposioToolkitCatalogItem = { slug: string; name: string; logoUrl?: string; isNoAuth: boolean; connected: boolean; providerConnectionId?: string; }; export type ComposioAuthorizeResult = { toolkit: string; connectionId: string; connectUrl?: string; status: string; }; export type { ComposioAuthConfigOption, ComposioSessionLike, ComposioSessionsClient, ComposioToolkitAuthState, } from './composio-session-types.js'; export type ComposioSessionContext = { principalId: string; installationScope?: string; providerPrincipalId?: string; toolkits?: string[]; authConfigs?: Record; connectedAccounts?: Record; callbackUrl?: string; }; type ClientFactory = () => Promise; /** Convert local identities to stable opaque Composio user IDs without disclosing user data. */ export declare function createComposioPrincipalId(principalId: string, installationScope?: string): string; export declare class ComposioSessionsAdapter { private readonly createClient; constructor(options?: { resolver?: CredentialResolver; clientFactory?: ClientFactory; fileDownloadDir?: string; }); createSession(context: ComposioSessionContext): Promise; getToolkitAuthState(toolkit: string): Promise; listToolkitCatalog(context: Omit): Promise; authorize(context: ComposioSessionContext & { toolkit: string; authConfigId?: string; installationId?: string; alias?: string; }): Promise; syncConnections(context: Pick): Promise; revokeConnection(connection: ConnectorConnection): Promise; refreshConnection(connection: ConnectorConnection): Promise; executeWithPolicy(input: { context: ComposioSessionContext; installation: ConnectorInstallationPolicy; connection?: ConnectorConnection; action: ConnectorActionMetadata; args?: Record; agentId?: string; sessionKey?: string; confirmed?: boolean; }): Promise<{ decision: 'allowed'; result: unknown; } | { decision: 'denied' | 'confirmation_required'; reason: string; }>; }