import { QueryResponse, UpdateResponse } from '@dvn/core/api';
import { CreateResponse } from '@dvn/core/api/dto/create';
import { GetListResponse } from '@dvn/core/api/dto/list';
import { DnsRecord } from '../models/dns-record';
import { Domain } from '../models/domain';
import { LoadBalancer } from '../models/load-balancer';
import { TargetGroup } from '../models/target-group';
export declare class DamgaApi {
  private api;
  constructor(endpoint: string, defaultHeaders?: object, defaultQueryParams?: object);
  createDomain: (data: Partial<Domain>) => Promise<CreateResponse>;
  getDomains: () => Promise<QueryResponse>;
  updateDomain: (id: string, data: Partial<Domain>) => Promise<UpdateResponse>;
  deleteDomain: (id: string) => Promise<unknown>;
  createLoadBalancer: (data: Partial<LoadBalancer>) => Promise<CreateResponse>;
  getLoadBalancers: () => Promise<GetListResponse<LoadBalancer>>;
  updateLoadBalancer: (id: string, data: Partial<LoadBalancer>) => Promise<UpdateResponse>;
  deleteLoadBalancer: (id: string) => Promise<unknown>;
  createTargetGroup: (data: Partial<TargetGroup>) => Promise<CreateResponse>;
  getTargetGroups: () => Promise<GetListResponse<TargetGroup>>;
  updateTargetGroup: (id: string, data: Partial<TargetGroup>) => Promise<UpdateResponse>;
  deleteTargetGroup: (id: string) => Promise<unknown>;
  getDnsRecord: (domain: any) => Promise<DnsRecord>;
}
