import type { ChannelMessageActionName as ChannelMessageActionNameFromList } from "./message-action-names.js";

export { CHANNEL_MESSAGE_ACTION_NAMES } from "./message-action-names.js";
export { CHANNEL_MESSAGE_CAPABILITIES } from "./message-capabilities.js";

export type ChannelMessageActionName = ChannelMessageActionNameFromList;
export type { ChannelMessageCapability } from "./message-capabilities.js";

export type {
  ChannelActionAvailabilityState,
  ChannelApprovalAdapter,
  ChannelApprovalCapability,
  ChannelApprovalForwardTarget,
  ChannelApprovalInitiatingSurfaceState,
  ChannelAuthAdapter,
  ChannelCommandAdapter,
  ChannelCapabilitiesDiagnostics,
  ChannelCapabilitiesDisplayLine,
  ChannelCapabilitiesDisplayTone,
  ChannelConfigAdapter,
  ChannelDirectoryAdapter,
  ChannelResolveKind,
  ChannelResolveResult,
  ChannelResolverAdapter,
  ChannelElevatedAdapter,
  ChannelGatewayAdapter,
  ChannelGatewayContext,
  ChannelGroupAdapter,
  ChannelHeartbeatAdapter,
  ChannelLifecycleAdapter,
  ChannelLoginWithQrStartResult,
  ChannelLoginWithQrWaitResult,
  ChannelLogoutContext,
  ChannelLogoutResult,
  ChannelOutboundAdapter,
  ChannelOutboundContext,
  ChannelOutboundPayloadHint,
  ChannelOutboundTargetRef,
  ChannelAllowlistAdapter,
  ChannelSecretsAdapter,
  ChannelCommandConversationContext,
  ChannelConfiguredBindingConversationRef,
  ChannelConfiguredBindingMatch,
  ChannelConfiguredBindingProvider,
  ChannelConversationBindingSupport,
  ChannelPairingAdapter,
  ChannelSecurityAdapter,
  ChannelSetupAdapter,
  ChannelStatusAdapter,
} from "./types.adapters.js";
export type { ChannelRuntimeSurface } from "./channel-runtime-surface.types.js";
export type {
  ChannelAccountSnapshot,
  ChannelAccountState,
  ChannelAgentPromptAdapter,
  ChannelAgentTool,
  ChannelAgentToolFactory,
  ChannelCapabilities,
  ChannelDirectoryEntry,
  ChannelDirectoryEntryKind,
  ChannelGroupContext,
  ChannelHeartbeatDeps,
  ChannelId,
  ChannelLogSink,
  ChannelMentionAdapter,
  ChannelMessageActionAdapter,
  ChannelMessageActionDiscoveryContext,
  ChannelMessageActionContext,
  ChannelMessagingAdapter,
  ChannelMessageToolDiscovery,
  ChannelMeta,
  ChannelMessageToolSchemaContribution,
  ChannelOutboundTargetMode,
  ChannelPollContext,
  ChannelPollResult,
  ChannelSecurityContext,
  ChannelSecurityDmPolicy,
  ChannelSetupInput,
  ChannelStatusIssue,
  ChannelStreamingAdapter,
  ChannelStructuredComponents,
  ChannelThreadingAdapter,
  ChannelThreadingContext,
  ChannelThreadingToolContext,
  ChannelToolSend,
  BaseProbeResult,
  BaseTokenResolution,
} from "./types.core.js";

export type { ChannelPlugin } from "./types.plugin.js";
