import type { HTMLAttributes } from "react";
export type DomainStatus = "verified" | "pending" | "invalid";
export interface Domain {
id: string;
hostname: string;
status: DomainStatus;
primary?: boolean;
/**
* TLS state. If true, certificate is provisioned & valid.
*/
tls?: boolean;
/**
* DNS record the user must add to verify ownership.
*/
verificationRecord?: {
type: "TXT" | "CNAME" | "A";
name: string;
value: string;
};
}
interface DomainConfigProps extends HTMLAttributes {
domains: Domain[];
onAdd?: (hostname: string) => void;
onRemove?: (id: string) => void;
onSetPrimary?: (id: string) => void;
}
/**
* DomainConfig — manage custom domains for a project.
*
* Shows: hostname, status, TLS, primary flag, and verification DNS record when pending.
* Common in every cloud dashboard (Vercel, Railway, Render).
*/
declare const DomainConfig: import("react").ForwardRefExoticComponent>;
export { DomainConfig };