@altostra/core
Version:
Core library for shared types and logic
21 lines (20 loc) • 797 B
TypeScript
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>;