/**
 * DNS record types and CRUD operations
 */
export interface DnsRecord {
    id: string;
    domain_id: string;
    type: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "NS" | "SRV";
    name: string;
    value: string;
    ttl: number;
    priority: number | null;
    created_at: string;
}
interface DnsRecordRow {
    id: string;
    domain_id: string;
    type: string;
    name: string;
    value: string;
    ttl: number;
    priority: number | null;
    created_at: string;
}
export declare function rowToDnsRecord(row: DnsRecordRow): DnsRecord;
export interface CreateDnsRecordInput {
    domain_id: string;
    type: DnsRecord["type"];
    name: string;
    value: string;
    ttl?: number;
    priority?: number;
}
export declare function createDnsRecord(input: CreateDnsRecordInput): DnsRecord;
export declare function getDnsRecord(id: string): DnsRecord | null;
export declare function listDnsRecords(domainId: string, type?: DnsRecord["type"]): DnsRecord[];
export interface UpdateDnsRecordInput {
    type?: DnsRecord["type"];
    name?: string;
    value?: string;
    ttl?: number;
    priority?: number;
}
export declare function updateDnsRecord(id: string, input: UpdateDnsRecordInput): DnsRecord | null;
export declare function deleteDnsRecord(id: string): boolean;
export {};
//# sourceMappingURL=dns-records.d.ts.map