export type DnszDnsRecord = {
    /**The lowercase DNS name without a trailing dot, e.g. `"example.com"`. */
    name: string;
    /** The TTL in seconds, e.g. `60`. */
    ttl: number;
    /** The DNS class, e.g. `"IN"`. */
    class: string;
    /** The record type, e.g. `"A"`. */
    type: string;
    /** The record content, e.g. `"2001:db8::1"` or `"example.com."`. */
    content: string;
    /** A comment, e.g. `"a comment"`, `null` if absent. */
    comment: string | null;
};
export type DnszDnsData = {
    /** Array of `record` */
    records: DnszDnsRecord[];
    /**  The value of `$ORIGIN` in the zone file. */
    origin?: string;
    /** The value of `$TTL` in the zone file. */
    ttl?: number;
    /** An optional header at the start of the file. Can be multiline. Does not include comment markers. */
    header?: string;
};
export type DnszParseOptions = {
    /** When specified, replaces any `@` in `name` or `content` with it. */
    replaceOrigin?: string | null;
    /** When true, emit `\r\n` instead of `\n` in `header`. */
    crlf?: boolean;
    /** Default class when absent. */
    defaultClass?: string;
    /** Default TTL when absent and `$TTL` is not present. */
    defaultTTL?: number;
    /** Ensure trailing dots on FQDNs in content. Supports a limited amount of record types. */
    dots?: boolean;
};
export type DnszStringifyOptions = {
    /** Whether to group records into sections. */
    sections?: boolean;
    /** When `true`, emit `\r\n` instead of `\n` for the resulting zone file. */
    crlf?: boolean;
    /** Ensure trailing dots on FQDNs in content. Supports a limited amount of record types. Default: `false`. */
    dots?: boolean;
};
/** Parse a string of a DNS zone file and returns a `data` object. */
export declare function parseZone(str: string, { replaceOrigin, crlf, defaultTTL, defaultClass, dots }?: DnszParseOptions): DnszDnsData;
/** Parse a `data` object and return a string with the zone file contents. */
export declare function stringifyZone(data: DnszDnsData, { crlf, sections, dots }?: DnszStringifyOptions): string;
//# sourceMappingURL=index.d.ts.map