import * as interfaces from './interfaces/index.js';
import { DockerHost } from './classes.host.js';
export declare class DockerService {
    static getServices(dockerHost: DockerHost): Promise<DockerService[]>;
    static getServiceByName(dockerHost: DockerHost, networkName: string): Promise<DockerService>;
    /**
     * creates a service
     */
    static createService(dockerHost: DockerHost, serviceCreationDescriptor: interfaces.IServiceCreationDescriptor): Promise<DockerService>;
    dockerHostRef: DockerHost;
    ID: string;
    Version: {
        Index: number;
    };
    CreatedAt: string;
    UpdatedAt: string;
    Spec: {
        Name: string;
        Labels: interfaces.TLabels;
        TaskTemplate: {
            ContainerSpec: {
                Image: string;
                Isolation: string;
                Secrets: Array<{
                    File: {
                        Name: string;
                        UID: string;
                        GID: string;
                        Mode: number;
                    };
                    SecretID: string;
                    SecretName: string;
                }>;
            };
            ForceUpdate: 0;
        };
        Mode: {};
        Networks: [any[]];
    };
    Endpoint: {
        Spec: {};
        VirtualIPs: [any[]];
    };
    constructor(dockerHostArg: DockerHost);
    remove(): Promise<void>;
    reReadFromDockerEngine(): Promise<void>;
    needsUpdate(): Promise<boolean>;
}
