import type { DaoCoreConfig } from "../config/types.daocore.js";
type ChannelPresenceOptions = {
    channelIds?: readonly string[];
    includePersistedAuthState?: boolean;
    persistedAuthStateProbe?: {
        listChannelIds: () => readonly string[];
        hasState: (params: {
            channelId: string;
            cfg: DaoCoreConfig;
            env: NodeJS.ProcessEnv;
        }) => boolean;
    };
};
export type ChannelPresenceSignalSource = "config" | "env" | "persisted-auth";
type ChannelPresenceSignal = {
    channelId: string;
    source: ChannelPresenceSignalSource;
};
export declare function hasMeaningfulChannelConfig(value: unknown): boolean;
export declare function listExplicitlyDisabledChannelIdsForConfig(cfg: DaoCoreConfig): string[];
export declare function listPotentialConfiguredChannelIds(cfg: DaoCoreConfig, env?: NodeJS.ProcessEnv, options?: ChannelPresenceOptions): string[];
export declare function listPotentialConfiguredChannelPresenceSignals(cfg: DaoCoreConfig, env?: NodeJS.ProcessEnv, options?: ChannelPresenceOptions): ChannelPresenceSignal[];
export declare function hasPotentialConfiguredChannels(cfg: DaoCoreConfig | null | undefined, env?: NodeJS.ProcessEnv, options?: ChannelPresenceOptions): boolean;
export {};
