/**
 * Routed domain-owner facade. Every operation goes through the single
 * {@link DomainsStore} resolved by {@link getStore} (LocalStore or ApiStore),
 * so owner reads/writes hit the same dataset the rest of the app uses. No direct
 * sqlite access here; the sqlite-backed `domain-owners` module is only reached
 * via the store's LocalStore transport.
 */
export type { DomainOwner, DomainOwnerSource, CreateDomainOwnerInput, DomainWithOwner, } from "./domain-owners.js";
export { DOMAIN_OWNER_SOURCES } from "./domain-owners.js";
import type { DomainOwner, DomainOwnerSource, CreateDomainOwnerInput, DomainWithOwner } from "./domain-owners.js";
export declare function createDomainOwner(input: CreateDomainOwnerInput): Promise<DomainOwner>;
export declare function getDomainOwner(id: string): Promise<DomainOwner | null>;
export declare function getDomainOwnerByDomain(domainId: string): Promise<DomainOwner | null>;
export declare function getDomainOwnerByDomainName(domainName: string): Promise<DomainOwner | null>;
export declare function listDomainOwners(options?: {
    search?: string;
    source?: DomainOwnerSource;
    verified?: boolean;
}): Promise<DomainOwner[]>;
export declare function updateDomainOwner(id: string, input: Partial<CreateDomainOwnerInput>): Promise<DomainOwner | null>;
export declare function deleteDomainOwner(id: string): Promise<boolean>;
export declare function listDomainsWithOwners(): Promise<DomainWithOwner[]>;
/**
 * Extract owner info from WHOIS/RDAP data and create/update the domain's owner
 * record through the resolved store.
 */
export declare function extractOwnerFromWhois(domainName: string, whoisData: string): Promise<DomainOwner | null>;
/**
 * Create a contact in open-contacts for a domain owner and link them, routing
 * owner reads/writes through the store.
 */
export declare function linkOwnerToContacts(domainId: string, contactsDbFns: {
    createContact: (input: {
        first_name: string;
        last_name?: string;
        email?: string;
        phone?: string;
        job_title?: string;
        source: string;
        notes?: string;
    }) => {
        id: string;
    };
    getContactByEmail: (email: string) => {
        id: string;
    } | null;
}): Promise<string | null>;
//# sourceMappingURL=owners.d.ts.map