import type { RuntimeServices } from './services.js';
import type { RuntimeTask } from './store/domains/tasks.js';
import type { RuntimeAgent } from './store/domains/agents.js';
import type { SessionDomainState } from './store/domains/session.js';
import type { TurnState } from './store/domains/conversation.js';
import type { UiReadModel } from './ui-read-models-base.js';
export interface UiProvidersSnapshot {
    readonly providerIds: readonly string[];
}
export interface UiSessionSnapshot {
    readonly session: SessionDomainState;
    readonly totalTurns: number;
    readonly messageCount: number;
    readonly estimatedContextTokens: number;
    readonly contextWindow: number;
    readonly turnState: TurnState;
    readonly streamToolPreview?: string | undefined;
    readonly contextWarningActive: boolean;
    readonly pendingApproval: boolean;
    readonly denialCount: number;
}
export interface UiAgentsSnapshot {
    readonly active: readonly RuntimeAgent[];
    readonly totalSpawned: number;
    readonly totalCompleted: number;
    readonly totalFailed: number;
}
export interface UiTasksSnapshot {
    readonly tasks: readonly RuntimeTask[];
}
export interface UiCoreReadModels {
    readonly providers: UiReadModel<UiProvidersSnapshot>;
    readonly session: UiReadModel<UiSessionSnapshot>;
    readonly agents: UiReadModel<UiAgentsSnapshot>;
    readonly tasks: UiReadModel<UiTasksSnapshot>;
}
export declare function createCoreReadModels(runtimeServices: RuntimeServices): UiCoreReadModels;
//# sourceMappingURL=ui-read-models-core.d.ts.map