import { type IntegrationCatalogEntry } from "../../integrations/catalog.js"; export declare function listChannelsForSettings(): readonly IntegrationCatalogEntry[]; /** One credential a channel needs, from the adapter or the catalog. */ export interface ChannelCredential { key: string; required: boolean; /** At least one key in a group must be set (Resend or SendGrid). */ alternativeGroup?: string; } /** * True when a required credential, or every credential of a required * alternative group, is not configured. `isConfigured` answers for one key. */ export declare function hasMissingRequiredCredentials(credentials: readonly ChannelCredential[], isConfigured: (key: string) => boolean): boolean; export type ChannelConnectionState = "on" | "off" | "not-set-up"; /** * A channel is on only when it is both enabled and configured: an enabled row * whose credentials were removed receives nothing. */ export declare function channelConnectionState(status: { configured: boolean; enabled: boolean; }): ChannelConnectionState;