import type { TUI } from '@earendil-works/pi-tui';
import type { ChatLog } from './components/chat-log.js';
import type { TuiBackend } from './tui-backend.js';
import type { StreamAssembler } from './stream-assembler.js';
import type { TuiState } from './tui-types.js';
export type SessionActionsContext = {
    client: TuiBackend;
    chatLog: ChatLog;
    tui: TUI;
    state: TuiState;
    assembler: StreamAssembler;
    resolveSessionKey: (raw?: string) => string;
    updateHeader: () => void;
    updateFooter: () => void;
    setActivityStatus: (status: string) => void;
    historyLimit?: number;
    onAgentIdChange?: (agentId: string) => void;
};
export declare function createSessionActions(context: SessionActionsContext): {
    refreshSessionInfo: () => Promise<void>;
    loadHistory: () => Promise<void>;
    setSession: (rawKey: string) => Promise<void>;
    abortActive: (opts?: {
        clearUi?: boolean;
    }) => Promise<void>;
    resetCurrentSession: () => Promise<void>;
    clearChatForSessionSwitch: () => void;
};
