export { createAgentToAgentPolicy, createSessionVisibilityGuard, createSessionVisibilityRowChecker, resolveEffectiveSessionToolsVisibility, resolveSandboxedSessionToolContext, } from "./sessions-access.js";
export { resolveCurrentSessionClientAlias, resolveDisplaySessionKey, resolveInternalSessionKey, resolveMainSessionAlias, resolveSessionReference, resolveVisibleSessionReference, shouldResolveSessionIdInput, } from "./sessions-resolution.js";
export { extractAssistantText, sanitizeTextContent, stripToolMessages, } from "./chat-history-text.js";
import type { DaoCoreConfig } from "../../config/types.daocore.js";
export type SessionKind = "main" | "group" | "cron" | "hook" | "node" | "other";
export type SessionListDeliveryContext = {
    channel?: string;
    to?: string;
    accountId?: string;
    threadId?: string | number;
};
export type SessionRunStatus = "running" | "done" | "failed" | "killed" | "timeout";
export type SessionListRow = {
    key: string;
    agentId?: string;
    kind: SessionKind;
    channel: string;
    origin?: {
        provider?: string;
        accountId?: string;
    };
    spawnedBy?: string;
    label?: string;
    displayName?: string;
    derivedTitle?: string;
    lastMessagePreview?: string;
    parentSessionKey?: string;
    deliveryContext?: SessionListDeliveryContext;
    updatedAt?: number | null;
    sessionId?: string;
    model?: string;
    contextTokens?: number | null;
    totalTokens?: number | null;
    estimatedCostUsd?: number;
    status?: SessionRunStatus;
    startedAt?: number;
    endedAt?: number;
    runtimeMs?: number;
    childSessions?: string[];
    thinkingLevel?: string;
    fastMode?: boolean;
    verboseLevel?: string;
    reasoningLevel?: string;
    elevatedLevel?: string;
    responseUsage?: string;
    systemSent?: boolean;
    abortedLastRun?: boolean;
    sendPolicy?: string;
    lastChannel?: string;
    lastTo?: string;
    lastAccountId?: string;
    lastThreadId?: string | number;
    transcriptPath?: string;
    messages?: unknown[];
};
export declare function resolveSessionToolContext(opts?: {
    agentSessionKey?: string;
    sandboxed?: boolean;
    config?: DaoCoreConfig;
}): {
    mainKey: string;
    alias: string;
    visibility: "spawned" | "all";
    requesterInternalKey: string | undefined;
    effectiveRequesterKey: string;
    restrictToSpawned: boolean;
    cfg: DaoCoreConfig;
};
export declare function classifySessionKind(params: {
    key: string;
    gatewayKind?: string | null;
    alias: string;
    mainKey: string;
}): SessionKind;
export declare function deriveChannel(params: {
    key: string;
    kind: SessionKind;
    channel?: string | null;
    lastChannel?: string | null;
}): string;
