import type { SkillCommandSpec } from "../koi/skills.js";
import type { SKYKOIConfig } from "../config/config.js";
import type { MediaUnderstandingDecision } from "../media-understanding/types.js";
import type { ElevatedLevel, ReasoningLevel, ThinkLevel, VerboseLevel } from "./thinking.js";
import { type SessionEntry, type SessionScope } from "../config/sessions.js";
import { formatTokenCount as formatTokenCountShared } from "../utils/usage-format.js";
type KoiConfig = Partial<NonNullable<NonNullable<SKYKOIConfig["kois"]>["defaults"]>>;
export declare const formatTokenCount: typeof formatTokenCountShared;
type QueueStatus = {
    mode?: string;
    depth?: number;
    debounceMs?: number;
    cap?: number;
    dropPolicy?: string;
    showDetails?: boolean;
};
type StatusArgs = {
    config?: SKYKOIConfig;
    koi: KoiConfig;
    sessionEntry?: SessionEntry;
    sessionKey?: string;
    sessionScope?: SessionScope;
    groupActivation?: "mention" | "always";
    resolvedThink?: ThinkLevel;
    resolvedVerbose?: VerboseLevel;
    resolvedReasoning?: ReasoningLevel;
    resolvedElevated?: ElevatedLevel;
    modelAuth?: string;
    usageLine?: string;
    timeLine?: string;
    queue?: QueueStatus;
    mediaDecisions?: MediaUnderstandingDecision[];
    subkoisLine?: 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 buildHelpMessage(cfg?: SKYKOIConfig): string;
export type CommandsMessageOptions = {
    page?: number;
    surface?: string;
};
export type CommandsMessageResult = {
    text: string;
    totalPages: number;
    currentPage: number;
    hasNext: boolean;
    hasPrev: boolean;
};
export declare function buildCommandsMessage(cfg?: SKYKOIConfig, skillCommands?: SkillCommandSpec[], options?: CommandsMessageOptions): string;
export declare function buildCommandsMessagePaginated(cfg?: SKYKOIConfig, skillCommands?: SkillCommandSpec[], options?: CommandsMessageOptions): CommandsMessageResult;
export {};
