import { type SshCommand } from "../utils/sshCommand.js";
import type { Platform } from "../types/index.js";
export declare function platformDefaults(platform?: Platform): {
    port: number;
    dbContainer: string;
    label: string;
};
export declare function isValidDomain(domain: string): boolean;
export declare function sanitizeDomain(input: string): string;
export declare function escapePsqlString(input: string): string;
export declare function buildSetFqdnCommand(domain: string, ssl: boolean, platform?: Platform): SshCommand;
export declare function buildGetFqdnCommand(platform?: Platform): SshCommand;
export declare function buildPlatformCheckCommand(platform?: Platform): SshCommand;
/** @deprecated Use buildPlatformCheckCommand instead */
export declare function buildCoolifyCheckCommand(): SshCommand;
export declare function buildDnsCheckCommand(domain: string): SshCommand;
export declare function parseDnsResult(stdout: string): string | null;
export declare function parseFqdn(stdout: string): string | null;
export interface DomainResult {
    success: boolean;
    error?: string;
    hint?: string;
}
export interface DomainInfoResult {
    fqdn: string | null;
    error?: string;
    hint?: string;
}
export interface DnsCheckResult {
    resolvedIp: string | null;
    match: boolean;
    error?: string;
    hint?: string;
}
export declare function setDomain(ip: string, domain: string, ssl?: boolean, platform?: Platform): Promise<DomainResult>;
export declare function removeDomain(ip: string, platform?: Platform): Promise<DomainResult>;
export declare function getDomain(ip: string, platform?: Platform): Promise<DomainInfoResult>;
export declare function checkDns(ip: string, domain: string): Promise<DnsCheckResult>;
//# sourceMappingURL=domain.d.ts.map