import type { ResponseData } from "../../interfaces";
export type CreateDiginextDomainParams = {
    /**
     * Subdomain name
     * @example myworkspace, yourworkspace, ourteam
     */
    name: string;
    data: string;
    /**
     * DXSITE User ID
     */
    userId: string;
};
export type DiginextDomainRecordQuery = {
    /**
     * Record name
     */
    name: string;
    /**
     * Record type (A, TXT, CNAME, MX,...)
     */
    type: string;
};
export type UpdateDiginextDomainData = Partial<DiginextDomainRecordQuery> & {
    /**
     * Value of "A" record
     * @example 192.168.127.12
     */
    data: string;
    /**
     * DXSITE User ID
     */
    userId: string;
};
export type CreateDiginextDomainResponse = ResponseData & {
    data: {
        domain: string;
        domain_record: string;
    };
};
export type GetDiginextDomainsResponse = ResponseData & {
    data: {
        domains: {
            id: string;
            name: string;
        }[];
    };
};
export type UpdateDiginextDomainResponse = ResponseData & {
    data: {
        id: string;
        /**
         * Subdomain name
         * @example myworkspace, yourworkspace, ourteam
         */
        name: string;
        /**
         * Record type (A, TXT, CNAME, MX,...)
         */
        type: string;
        /**
         * Value of "A" record
         * @example 192.168.127.12
         */
        data: string;
    };
};
export type GetDiginextDomainRecordsResponse = ResponseData & {
    data: {
        records: {
            id: string;
            name: string;
            type: string;
            data: string;
        }[];
    };
};
export declare function dxCreateDomain(params: CreateDiginextDomainParams, dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<CreateDiginextDomainResponse>;
export declare function dxGetDomains(dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<GetDiginextDomainsResponse>;
export declare function dxGetAllDomainRecords(dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<GetDiginextDomainRecordsResponse>;
export declare function dxGetDomainRecordByName(recordQuery: DiginextDomainRecordQuery, dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<GetDiginextDomainRecordsResponse>;
export declare function dxUpdateDomainRecord(recordQuery: DiginextDomainRecordQuery, recordData: UpdateDiginextDomainData, dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<UpdateDiginextDomainResponse>;
export declare function dxDeleteDomainRecord(recordQuery: DiginextDomainRecordQuery, dxKey: string, options?: {
    isDebugging?: boolean;
}): Promise<ResponseData>;
//# sourceMappingURL=dx-domain.d.ts.map