import { r as DaoCoreConfig } from "./types.daocore-kp8IyikH.js";
import { _t as DiscordAccountConfig, vt as DiscordActionConfig } from "./types.channels-DYoH0RJo.js";
import { t as DiscordCredentialStatus } from "./token-BhuDclvy.js";

//#region extensions/discord/src/accounts.d.ts
type ResolvedDiscordAccount = {
  accountId: string;
  enabled: boolean;
  name?: string;
  token: string;
  tokenSource: "env" | "config" | "none";
  tokenStatus: DiscordCredentialStatus;
  config: DiscordAccountConfig;
};
declare const listDiscordAccountIds: (cfg: DaoCoreConfig) => string[];
declare const resolveDefaultDiscordAccountId: (cfg: DaoCoreConfig) => string;
declare function resolveDiscordAccountConfig(cfg: DaoCoreConfig, accountId: string): DiscordAccountConfig | undefined;
declare function mergeDiscordAccountConfig(cfg: DaoCoreConfig, accountId: string): DiscordAccountConfig;
declare function createDiscordActionGate(params: {
  cfg: DaoCoreConfig;
  accountId?: string | null;
}): (key: keyof DiscordActionConfig, defaultValue?: boolean) => boolean;
declare function resolveDiscordAccount(params: {
  cfg: DaoCoreConfig;
  accountId?: string | null;
}): ResolvedDiscordAccount;
declare function resolveDiscordMaxLinesPerMessage(params: {
  cfg: DaoCoreConfig;
  discordConfig?: DiscordAccountConfig | null;
  accountId?: string | null;
}): number | undefined;
declare function listEnabledDiscordAccounts(cfg: DaoCoreConfig): ResolvedDiscordAccount[];
//#endregion
export { mergeDiscordAccountConfig as a, resolveDiscordAccountConfig as c, listEnabledDiscordAccounts as i, resolveDiscordMaxLinesPerMessage as l, createDiscordActionGate as n, resolveDefaultDiscordAccountId as o, listDiscordAccountIds as r, resolveDiscordAccount as s, ResolvedDiscordAccount as t };