UNPKG

@hasna/domains

Version:

Domain portfolio, registrar, marketplace, and DNS management for AI agents — CLI + MCP + HTTP API + SDK, shared account API and PostgreSQL

65 lines • 2.37 kB
/** * Domain owner tracking — links premium/unavailable domains to their owners * via open-contacts integration or local owner records. */ export interface DomainOwner { id: string; domain_id: string; contact_id: string | null; owner_name: string | null; owner_email: string | null; owner_phone: string | null; owner_organization: string | null; source: DomainOwnerSource; verified: boolean; notes: string | null; created_at: string; updated_at: string; } export type DomainOwnerSource = (typeof DOMAIN_OWNER_SOURCES)[number]; export declare const DOMAIN_OWNER_SOURCES: readonly ["whois", "manual", "brandsight", "import"]; export interface CreateDomainOwnerInput { domain_id: string; contact_id?: string; owner_name?: string; owner_email?: string; owner_phone?: string; owner_organization?: string; source?: DomainOwnerSource; verified?: boolean; notes?: string; } export declare function createDomainOwner(input: CreateDomainOwnerInput): DomainOwner; export declare function getDomainOwner(id: string): DomainOwner | null; export declare function getDomainOwnerByDomain(domainId: string): DomainOwner | null; export declare function getDomainOwnerByDomainName(domainName: string): DomainOwner | null; export declare function listDomainOwners(options?: { search?: string; source?: DomainOwnerSource; verified?: boolean; }): DomainOwner[]; export declare function updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): DomainOwner | null; export declare function deleteDomainOwner(id: string): boolean; /** * Extract owner info from WHOIS data (RDAP JSON or CLI raw text) and create/update a domain owner record. */ export declare function parseWhoisOwner(whoisData: string): { name: string | null; email: string | null; phone: string | null; organization: string | null; } | null; export interface DomainWithOwner { domain_name: string; domain_status: string; is_premium: boolean; premium_price: number | null; owner_name: string | null; owner_email: string | null; owner_organization: string | null; contact_id: string | null; source: DomainOwnerSource | null; verified: boolean; } export declare function listDomainsWithOwners(): DomainWithOwner[]; //# sourceMappingURL=domain-owners.d.ts.map