import type { AgentStatusEntry, AgentStatusValue, ClaudeSessionGateway, CleanupResult, DaemonStatus, DispatchInput, DispatchResult, UsageReport } from '../../modules/claude-invocation/entities/claudeSession/claudeSession.gateway.js';
import { type SessionId } from '../../modules/claude-invocation/entities/claudeSession/claudeSession.schema.js';
import type { SessionUsageSnapshot } from '../../modules/claude-invocation/entities/claudeSession/sessionUsage.schema.js';
export declare class StubClaudeSessionGateway implements ClaudeSessionGateway {
    dispatchCalls: DispatchInput[];
    stopCalls: string[];
    removeCalls: string[];
    listAgentsCallCount: number;
    getSessionUsageCalls: Array<{
        sessionId: SessionId;
        cwd: string;
    }>;
    private dispatchResult;
    private daemonStatusValue;
    private usageValue;
    private scheduledAgentStatuses;
    private sessionUsageResult;
    setDispatchResult(result: DispatchResult): void;
    setDaemonStatus(status: DaemonStatus): void;
    setUsage(report: UsageReport): void;
    setSessionUsage(value: SessionUsageSnapshot | null): void;
    scheduleAgentCompletion(sessionIdValue: string, status: AgentStatusValue, afterPollCount: number): void;
    dispatch(input: DispatchInput): Promise<DispatchResult>;
    stop(sessionId: SessionId): Promise<CleanupResult>;
    remove(sessionId: SessionId): Promise<CleanupResult>;
    listAgents(): Promise<AgentStatusEntry[]>;
    daemonStatus(): Promise<DaemonStatus>;
    usage(): Promise<UsageReport>;
    getSessionUsage(sessionId: SessionId, cwd: string): Promise<SessionUsageSnapshot | null>;
}
//# sourceMappingURL=claudeSession.stub.d.ts.map