/**
 * Resolve REAL server-dashboard data for a provisioned compute box. Runs a small
 * metrics script over the active driver (SSM/SSH), parses the KEY=VALUE output,
 * and derives sites/SSH/workers from the cloud config. Everything is best-effort:
 * if no box is reachable it returns config-derived data marked unavailable.
 */
import type { CloudConfig, EnvironmentType } from '@ts-cloud/core';
interface ProbedService {
    name: string;
    status: string;
    memBytes?: number;
    enabled?: string;
    since?: string;
}
export declare function parseBlock(output: string): Record<string, string> & {
    services: ProbedService[];
};
interface ServerLogSource {
    /** journalctl `-u` pattern (a unit name or a glob like `acme-web-queue-*`). */
    pattern: string;
    /** Clean source label shown + filtered on in the UI. */
    label: string;
}
/**
 * Every log source on the box: the web server, each managed service, and per
 * server-app site the app service PLUS its queue workers and daemons (collected
 * via journalctl unit globs so all worker instances are covered, not just the
 * main service). Deduped by label.
 */
export declare function serverLogSources(config: CloudConfig): ServerLogSource[];
export declare function parseServerLogs(output: string): Array<Record<string, any>>;
export declare function parseServerSecurity(output: string): Record<string, any>;
export declare function parseDeployHistory(output: string, sites?: Record<string, any>): Array<Record<string, any>>;
export declare function resolveConfigOnlyServerDashboardData(config: CloudConfig, environment: EnvironmentType): Record<string, any>;
export declare function resolveServerDashboardData(config: CloudConfig, environment: EnvironmentType): Promise<Record<string, any> | null>;
export {};
