import type { EffectiveToolInventoryResult } from "../agents/tools-effective-inventory.js";
import type { KaijiBotConfig } from "../config/config.js";
import { type SessionEntry, type SessionScope } from "../config/sessions.js";
import type { MediaUnderstandingDecision } from "../media-understanding/types.js";
import { formatTokenCount as formatTokenCountShared } from "../utils/usage-format.js";
export { buildCommandsMessage, buildCommandsMessagePaginated, buildHelpMessage, type CommandsMessageOptions, type CommandsMessageResult, } from "./command-status-builders.js";
import type { ElevatedLevel, ReasoningLevel, ThinkLevel, VerboseLevel } from "./thinking.js";
type AgentDefaults = NonNullable<NonNullable<KaijiBotConfig["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;
};
type StatusArgs = {
    config?: KaijiBotConfig;
    agent: AgentConfig;
    agentId?: string;
    runtimeContextTokens?: number;
    explicitConfiguredContextTokens?: number;
    sessionEntry?: SessionEntry;
    sessionKey?: string;
    parentSessionKey?: string;
    sessionScope?: SessionScope;
    sessionStorePath?: string;
    groupActivation?: "mention" | "always";
    resolvedThink?: ThinkLevel;
    resolvedFast?: boolean;
    resolvedVerbose?: VerboseLevel;
    resolvedReasoning?: ReasoningLevel;
    resolvedElevated?: ElevatedLevel;
    modelAuth?: string;
    activeModelAuth?: string;
    usageLine?: string;
    timeLine?: 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 declare function buildToolsMessage(result: EffectiveToolInventoryResult, options?: {
    verbose?: boolean;
}): string;
