import type { DNSName } from "../../common/CustomTypes/DNSName";
import type { NonEmptyString } from "../../common/CustomTypes/NonEmptyString";
import type { ResourceBase } from "./Common";
export declare type DomainType = 'resource.domain';
export interface DomainBase extends ResourceBase {
    type: DomainType;
    domainName: DNSName;
    dnsRegistration: boolean;
    zoneId?: NonEmptyString;
}
export interface SimpleDomain extends DomainBase {
    dnsRegistration: false;
    zoneId?: undefined;
}
export interface RegisteredDomain extends DomainBase {
    dnsRegistration: true;
    zoneId: NonEmptyString;
}
export declare type Domain = RegisteredDomain | SimpleDomain;
export declare const isDomain: import("@altostra/type-validations").TypeValidation<SimpleDomain | RegisteredDomain>;
