import type { ElevatedLevel, ReasoningLevel, ThinkLevel, VerboseLevel } from "../auto-reply/thinking.js";
import { type SessionEntry, type SessionScope } from "../config/sessions.js";
import type { DaoCoreConfig } from "../config/types.daocore.js";
import type { MediaUnderstandingDecision } from "../media-understanding/types.js";
import { formatTokenCount as formatTokenCountShared } from "../utils/usage-format.js";
type AgentDefaults = NonNullable<NonNullable<DaoCoreConfig["agents"]>["defaults"]>;
type AgentConfig = Partial<AgentDefaults> & {
    model?: AgentDefaults["model"] | string;
};
export declare const formatTokenCount: typeof formatTokenCountShared;
type QueueStatus = {
    mode?: string;
    depth?: number;
    debounceMs?: number;
    cap?: number;
    dropPolicy?: string;
    showDetails?: boolean;
};
export type StatusArgs = {
    config?: DaoCoreConfig;
    agent: AgentConfig;
    agentId?: string;
    configuredDefaultModelLabel?: string;
    runtimeContextTokens?: number;
    explicitConfiguredContextTokens?: number;
    sessionEntry?: SessionEntry;
    sessionKey?: string;
    parentSessionKey?: string;
    sessionScope?: SessionScope;
    sessionStorePath?: string;
    groupActivation?: "mention" | "always";
    resolvedThink?: ThinkLevel;
    resolvedFast?: boolean;
    resolvedHarness?: string;
    resolvedVerbose?: VerboseLevel;
    resolvedReasoning?: ReasoningLevel;
    resolvedElevated?: ElevatedLevel;
    modelAuth?: string;
    activeModelAuth?: string;
    usageLine?: string;
    timeLine?: string;
    uptimeLine?: string;
    queue?: QueueStatus;
    mediaDecisions?: ReadonlyArray<MediaUnderstandingDecision>;
    subagentsLine?: string;
    taskLine?: string;
    includeTranscriptUsage?: boolean;
    now?: number;
};
export declare const formatContextUsageShort: (total: number | null | undefined, contextTokens: number | null | undefined) => string;
export declare function buildStatusMessage(args: StatusArgs): string;
export {};
