import type { DatabaseType, PleskCredentials, SubscriptionResult } from '../domain/model.js';
import type { HostingPort } from '../ports/hosting.port.js';
import type { LoggerPort } from '../ports/logger.port.js';
export declare class PleskHostingAdapter implements HostingPort {
    private readonly credentials;
    private readonly logger;
    constructor(credentials: PleskCredentials, logger: LoggerPort);
    createDatabase(params: {
        domainId: number;
        name: string;
        password: string;
        type: DatabaseType;
        user: string;
    }): Promise<void>;
    createSubscription(params: {
        domain: string;
        ftpLogin: string;
        ftpPassword: string;
        plan: string;
    }): Promise<SubscriptionResult>;
    disableProxyMode(params: {
        domain: string;
    }): Promise<void>;
    enableNodeJs(params: {
        domain: string;
        startupFile: string;
    }): Promise<void>;
    enableShellAccess(params: {
        domain: string;
        sshUser: string;
    }): Promise<void>;
    getAdminEmail(params: {
        sshUser: string;
    }): Promise<string>;
    installSshKey(params: {
        domain: string;
        ftpLogin: string;
        publicKey: string;
        sshUser: string;
    }): Promise<void>;
    installSslCertificate(params: {
        domain: string;
        email: string;
        sshUser: string;
    }): Promise<void>;
    setNginxDirectives(params: {
        directives: string;
        domain: string;
        sshUser: string;
    }): Promise<void>;
    private callNodeJsXmlApi;
    private execSsh;
    private findDbServerId;
    private findDomain;
    private findLatestLtsVersion;
    private headers;
    private url;
    private xmlApiUrl;
}
