import type { DaoCoreConfig } from "../config/types.js";
import type { HeartbeatEventPayload } from "../infra/heartbeat-events.js";
import type { HealthSummary } from "./health.js";
export declare function resolveStatusSecurityAudit(params: {
    config: DaoCoreConfig;
    sourceConfig: DaoCoreConfig;
}): Promise<import("../security/audit.types.ts").SecurityAuditReport>;
type StatusUsageSummaryOptions = {
    config: DaoCoreConfig;
    timeoutMs?: number;
    agentDir?: string;
};
export declare function resolveStatusUsageSummary(params: StatusUsageSummaryOptions): Promise<import("../infra/provider-usage.types.ts").UsageSummary>;
export declare function loadStatusProviderUsageModule(): Promise<typeof import("../infra/provider-usage.js")>;
export declare function resolveStatusGatewayHealth(params: {
    config: DaoCoreConfig;
    timeoutMs?: number;
}): Promise<HealthSummary>;
export declare function resolveStatusGatewayHealthSafe(params: {
    config: DaoCoreConfig;
    timeoutMs?: number;
    gatewayReachable: boolean;
    gatewayProbeError?: string | null;
    callOverrides?: {
        url: string;
        token?: string;
        password?: string;
    };
}): Promise<HealthSummary | {
    error: string;
}>;
export declare function resolveStatusGatewayDiagnosticsSafe(params: {
    config: DaoCoreConfig;
    timeoutMs?: number;
    gatewayReachable: boolean;
    callOverrides?: {
        url: string;
        token?: string;
        password?: string;
    };
}): Promise<unknown>;
export declare function resolveStatusLastHeartbeat(params: {
    config: DaoCoreConfig;
    timeoutMs?: number;
    gatewayReachable: boolean;
}): Promise<HeartbeatEventPayload | null>;
export declare function resolveStatusServiceSummaries(): Promise<[{
    label: string;
    installed: boolean | null;
    loaded: boolean;
    managedByDaoCore: boolean;
    externallyManaged: boolean;
    loadedText: string;
    runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
    runtimeShort: string | null;
    layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
}, {
    label: string;
    installed: boolean | null;
    loaded: boolean;
    managedByDaoCore: boolean;
    externallyManaged: boolean;
    loadedText: string;
    runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
    runtimeShort: string | null;
    layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
}]>;
type StatusUsageSummary = Awaited<ReturnType<typeof resolveStatusUsageSummary>>;
type StatusGatewayHealth = Awaited<ReturnType<typeof resolveStatusGatewayHealth>>;
type StatusSecurityAudit = Awaited<ReturnType<typeof resolveStatusSecurityAudit>>;
export declare function resolveStatusRuntimeDetails(params: {
    config: DaoCoreConfig;
    timeoutMs?: number;
    usage?: boolean;
    deep?: boolean;
    gatewayReachable: boolean;
    suppressHealthErrors?: boolean;
    resolveUsage?: (input: StatusUsageSummaryOptions) => Promise<StatusUsageSummary>;
    resolveHealth?: (input: {
        config: DaoCoreConfig;
        timeoutMs?: number;
    }) => Promise<StatusGatewayHealth>;
}): Promise<{
    usage: import("../infra/provider-usage.types.ts").UsageSummary | undefined;
    health: HealthSummary | undefined;
    lastHeartbeat: HeartbeatEventPayload | null;
    gatewayService: {
        label: string;
        installed: boolean | null;
        loaded: boolean;
        managedByDaoCore: boolean;
        externallyManaged: boolean;
        loadedText: string;
        runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
        runtimeShort: string | null;
        layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
    };
    nodeService: {
        label: string;
        installed: boolean | null;
        loaded: boolean;
        managedByDaoCore: boolean;
        externallyManaged: boolean;
        loadedText: string;
        runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
        runtimeShort: string | null;
        layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
    };
}>;
export declare function resolveStatusRuntimeSnapshot(params: {
    config: DaoCoreConfig;
    sourceConfig: DaoCoreConfig;
    timeoutMs?: number;
    usage?: boolean;
    deep?: boolean;
    gatewayReachable: boolean;
    includeSecurityAudit?: boolean;
    suppressHealthErrors?: boolean;
    resolveSecurityAudit?: (input: {
        config: DaoCoreConfig;
        sourceConfig: DaoCoreConfig;
    }) => Promise<StatusSecurityAudit>;
    resolveUsage?: (input: StatusUsageSummaryOptions) => Promise<StatusUsageSummary>;
    resolveHealth?: (input: {
        config: DaoCoreConfig;
        timeoutMs?: number;
    }) => Promise<StatusGatewayHealth>;
}): Promise<{
    usage: import("../infra/provider-usage.types.ts").UsageSummary | undefined;
    health: HealthSummary | undefined;
    lastHeartbeat: HeartbeatEventPayload | null;
    gatewayService: {
        label: string;
        installed: boolean | null;
        loaded: boolean;
        managedByDaoCore: boolean;
        externallyManaged: boolean;
        loadedText: string;
        runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
        runtimeShort: string | null;
        layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
    };
    nodeService: {
        label: string;
        installed: boolean | null;
        loaded: boolean;
        managedByDaoCore: boolean;
        externallyManaged: boolean;
        loadedText: string;
        runtime: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["runtime"];
        runtimeShort: string | null;
        layout: Awaited<ReturnType<typeof import("./status.service-summary.ts").readServiceStatusSummary>>["layout"];
    };
    securityAudit: import("../security/audit.types.ts").SecurityAuditReport | undefined;
}>;
export {};
