import { type ExecutionResult } from "./serviceHelper";
import { SystemStatus, UserPreferences, ParheliaSettings, HomeQuickAction, AiTextEditPrompt } from "../../types";
export type ClusterSession = {
    sessionId: string;
    userId?: string;
    browserId?: string;
    consumesLicenseSeat: boolean;
    connectionState?: string;
    lastHeartbeatUtc?: string;
};
export type ClusterInstance = {
    instanceId: string;
    type?: string;
    baseUrl?: string;
    status?: string;
    lastHeartbeatUtc?: string;
    lastSeenMachineName?: string;
    isCurrent: boolean;
    isLive: boolean;
    isRoutable: boolean;
    missingInternalBaseUrl: boolean;
    warnings?: string[];
    connectedSessionCount: number;
    sessions?: ClusterSession[];
};
export type ClusterInstancesResponse = {
    currentInstanceId?: string;
    internalBaseUrl?: string;
    instanceHeartbeatTtlSeconds: number;
    warnings?: string[];
    instances: ClusterInstance[];
};
export type FieldTypeSerializer = {
    group: string;
    name: string;
    itemId: string;
    path: string;
    serializerType: string;
    serializerFullType?: string;
    hasCustomSerializer: boolean;
};
export type AgentToolSignatureParameter = {
    name: string;
    type: string;
    isRequired: boolean;
    description?: string;
    enumValues?: string[];
};
export type AgentToolRegistryItem = {
    key: string;
    implementationKey: string;
    implementationClassName: string;
    implementationFullName?: string;
    implementationType: string;
    registrationLocation: string;
    description?: string;
    shortDescription?: string;
    signature: string;
    signatureError?: string;
    signatureParameters: AgentToolSignatureParameter[];
    defaultFolderName?: string;
    itemId?: string;
    itemPath?: string;
    templateId?: string;
    serverName?: string;
};
export declare function getSystemStatus(options?: {
    force?: boolean;
}): Promise<ExecutionResult<SystemStatus>>;
export declare function getEditorSettings(): Promise<ExecutionResult<ParheliaSettings>>;
export type SystemSettingsUpdate = {
    enableWebSocketTransport?: boolean;
    enableSseFallback?: boolean;
};
/**
 * Persists global system settings (administrator only). Only the provided keys
 * are updated. Returns the full, freshly-read settings snapshot on success.
 */
export declare function updateSystemSettings(update: SystemSettingsUpdate): Promise<ExecutionResult<ParheliaSettings>>;
export declare function getClusterInstances(): Promise<ExecutionResult<ClusterInstancesResponse>>;
export declare function getFieldTypeSerializers(): Promise<ExecutionResult<FieldTypeSerializer[]>>;
export declare function getAgentTools(): Promise<ExecutionResult<AgentToolRegistryItem[]>>;
export declare function deleteStaleClusterInstance(instanceId: string): Promise<ExecutionResult<{
    success: boolean;
    message?: string;
}>>;
export declare function getHomeQuickActions(): Promise<ExecutionResult<HomeQuickAction[]>>;
export declare function getAiTextEditPrompts(): Promise<ExecutionResult<AiTextEditPrompt[]>>;
export declare function saveUserPreferences(preferences: UserPreferences): Promise<ExecutionResult<UserPreferences>>;
