import type { RuntimeDiscoveryAdapter, RuntimeDiscoveryContext, RuntimeWorkload } from '../model';
export interface DockerInspectRecord {
    Id: string;
    Name?: string;
    Config?: {
        Image?: string;
        Labels?: Record<string, string>;
        Env?: string[];
    };
    State?: {
        Status?: string;
        Running?: boolean;
        StartedAt?: string;
        FinishedAt?: string;
        ExitCode?: number;
        Error?: string;
        OOMKilled?: boolean;
        Restarting?: boolean;
    };
    RestartCount?: number;
    HostConfig?: {
        NetworkMode?: string;
        Memory?: number;
        NanoCpus?: number;
    };
    Mounts?: Array<{
        Source?: string;
        Destination?: string;
        Type?: string;
        RW?: boolean;
    }>;
    NetworkSettings?: {
        Networks?: Record<string, {
            NetworkID?: string;
            IPAddress?: string;
            GlobalIPv6Address?: string;
        }>;
        Ports?: Record<string, Array<{
            HostIp?: string;
            HostPort?: string;
        }> | null>;
    };
    Image?: string;
}
export declare function parseDockerInspect(output: string): DockerInspectRecord[];
export declare function dockerWorkloads(records: DockerInspectRecord[], context: RuntimeDiscoveryContext, sourceId?: string): RuntimeWorkload[];
export declare class DockerDiscoveryAdapter implements RuntimeDiscoveryAdapter {
    private readonly inspect;
    readonly id: string;
    readonly provider: 'docker';
    constructor(inspect: (context: RuntimeDiscoveryContext) => Promise<string>, id?: string);
    discover(context: RuntimeDiscoveryContext): Promise<RuntimeWorkload[]>;
}
