import type { PanelManager } from '../../panels/panel-manager.js';
import type { ConfigManager } from '../../config/index.js';
import type { ServiceRegistry } from '../../config/service-registry.js';
import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config/subscriptions';
import type { SecretsManager } from '../../config/secrets.js';
import type { AutomationManager } from '../../automation/index.js';
import type { ApprovalBroker, SharedSessionBroker } from '../../control-plane/index.js';
import type { DistributedRuntimeManager } from '@pellux/goodvibes-sdk/platform/runtime/remote/distributed-runtime';
import type { RemoteRunnerRegistry } from '../remote/runner-registry.js';
import type { RemoteSupervisor } from '../remote/supervisor.js';
import type { ProviderRegistry } from '../../providers/registry.js';
import type { RuntimeStore } from '../store/index.js';
import type { RuntimeEventBus, RuntimeEventDomain } from '../events/index.js';
import type { UserAuthManager } from '@pellux/goodvibes-sdk/platform/security/user-auth';
import { type RecoveryFileInfo } from '../session-persistence.js';
import { type ManagedWorktreeMeta, type WorktreeOwnershipSummary } from '../worktree/registry.js';
import type { ManagedRollbackRecord, SettingsConflictRecord, StagedManagedBundle } from '../settings/control-plane-store.js';
export interface IntegrationHelpersContext {
    readonly workingDirectory: string;
    readonly homeDirectory: string;
    readonly runtimeStore: RuntimeStore;
    readonly runtimeBus: RuntimeEventBus;
    readonly configManager?: ConfigManager;
    readonly getConversationTitle?: () => string | undefined;
    readonly automationManager: AutomationManager;
    readonly approvalBroker: ApprovalBroker;
    readonly sessionBroker: SharedSessionBroker;
    readonly distributedRuntime: DistributedRuntimeManager;
    readonly remoteRunnerRegistry: RemoteRunnerRegistry;
    readonly remoteSupervisor: RemoteSupervisor;
    readonly panelManager: PanelManager;
    readonly localUserAuthManager: UserAuthManager;
    readonly providerRegistry: ProviderRegistry;
    readonly serviceRegistry: ServiceRegistry;
    readonly subscriptionManager: SubscriptionManager;
    readonly secretsManager: SecretsManager;
}
export interface PanelSnapshot {
    readonly id: string;
    readonly name: string;
    readonly category: string;
    readonly description: string;
    readonly open: boolean;
}
export interface SettingsSnapshotUnavailable {
    readonly available: false;
    readonly reason: string;
}
export interface SettingsSnapshotAvailable {
    readonly available: true;
    readonly liveKeyCount: number;
    readonly profileCount: number;
    readonly managedLockCount: number;
    readonly resolvedCounts: Readonly<Record<string, number>>;
    readonly conflicts: readonly SettingsConflictRecord[];
    readonly recentFailures: readonly {
        readonly surface: string;
        readonly message: string;
        readonly timestamp: number;
    }[];
    readonly stagedManagedBundle?: StagedManagedBundle;
    readonly rollbackHistory: readonly ManagedRollbackRecord[];
}
export type SettingsSnapshot = SettingsSnapshotUnavailable | SettingsSnapshotAvailable;
export interface ContinuitySnapshot {
    readonly sessionId: string;
    readonly status: string;
    readonly recoveryState: string;
    readonly lastSessionPointer: string | null;
    readonly recoveryFilePresent: boolean;
    readonly recoveryFile: RecoveryFileInfo | null;
}
export interface WorktreeSnapshot {
    readonly summary: WorktreeOwnershipSummary;
    readonly records: readonly ManagedWorktreeMeta[];
}
export declare class IntegrationHelperService {
    private readonly context;
    constructor(context: IntegrationHelpersContext);
    getRuntimeStore(): RuntimeStore;
    getContext(): IntegrationHelpersContext;
    buildReview(): {
        readonly apiFamilies: readonly string[];
        readonly routes: readonly string[];
        readonly sessions: number;
        readonly tasks: number;
        readonly pendingApprovals: number;
        readonly remoteContracts: number;
        readonly panels: number;
    };
    getSessionSnapshot(): Record<string, unknown>;
    getTaskSnapshot(): Record<string, unknown>;
    getAutomationSnapshot(): Record<string, unknown>;
    getRouteSnapshot(): Record<string, unknown>;
    getApprovalSnapshot(): Record<string, unknown>;
    getSessionBrokerSnapshot(): Record<string, unknown>;
    getDeliverySnapshot(): Record<string, unknown>;
    getRemoteSnapshot(): Record<string, unknown>;
    getHealthSnapshot(): Record<string, unknown>;
    getAccountsSnapshot(): Promise<Record<string, unknown>>;
    getSettingsSnapshot(): SettingsSnapshot;
    getLocalAuthSnapshot(): Record<string, unknown>;
    getContinuitySnapshot(): ContinuitySnapshot;
    getWorktreeSnapshot(): WorktreeSnapshot;
    getIntelligenceSnapshot(): Record<string, unknown>;
    listPanels(): PanelSnapshot[];
    openPanel(id: string, pane?: 'top' | 'bottom'): boolean;
    createEventStream(request: Request, domains: readonly RuntimeEventDomain[]): Response;
}
//# sourceMappingURL=helpers.d.ts.map