import type { SKYKOIConfig } from "../config/config.js";
import type { DmPolicy, GroupPolicy, WhatsAppAccountConfig } from "../config/types.js";
export type ResolvedWhatsAppAccount = {
    accountId: string;
    name?: string;
    enabled: boolean;
    sendReadReceipts: boolean;
    messagePrefix?: string;
    authDir: string;
    isLegacyAuthDir: boolean;
    selfChatMode?: boolean;
    allowFrom?: string[];
    groupAllowFrom?: string[];
    groupPolicy?: GroupPolicy;
    dmPolicy?: DmPolicy;
    textChunkLimit?: number;
    chunkMode?: "length" | "newline";
    mediaMaxMb?: number;
    blockStreaming?: boolean;
    ackReaction?: WhatsAppAccountConfig["ackReaction"];
    groups?: WhatsAppAccountConfig["groups"];
    debounceMs?: number;
};
export declare function listWhatsAppAuthDirs(cfg: SKYKOIConfig): string[];
export declare function hasAnyWhatsAppAuth(cfg: SKYKOIConfig): boolean;
export declare function listWhatsAppAccountIds(cfg: SKYKOIConfig): string[];
export declare function resolveDefaultWhatsAppAccountId(cfg: SKYKOIConfig): string;
export declare function resolveWhatsAppAuthDir(params: {
    cfg: SKYKOIConfig;
    accountId: string;
}): {
    authDir: string;
    isLegacy: boolean;
};
export declare function resolveWhatsAppAccount(params: {
    cfg: SKYKOIConfig;
    accountId?: string | null;
}): ResolvedWhatsAppAccount;
export declare function listEnabledWhatsAppAccounts(cfg: SKYKOIConfig): ResolvedWhatsAppAccount[];
