import type { APIEndpoints, SiteDomainRecord, DomainConfigResult } from './types';
import type { DomainSearchResultResponse, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, SiteDomainContactPayload } from './types';
import type { ApiClient } from './request';
type RemoveDomainResponse = NonNullable<APIEndpoints['removeDomain']['response']>;
type GetDomainDnsResponse = NonNullable<APIEndpoints['getDomainDns']['response']>;
type VerifyDomainDnsResponse = NonNullable<APIEndpoints['verifyDomainDns']['response']>;
export declare function listAccountDomains(apiClient: ApiClient, options?: RequestInit): Promise<SiteDomainRecord[]>;
export declare function searchDomainsRequest(apiClient: ApiClient, query: string, options?: RequestInit): Promise<DomainSearchResultResponse>;
export declare function registerDomainRequest(apiClient: ApiClient, input: RegisterDomainRequestPayload, options?: RequestInit): Promise<RegisterDomainResponse>;
export declare function assignDomainToSiteRequest(apiClient: ApiClient, { domainId, siteId, options, }: {
    domainId: string;
    siteId: string;
    options?: RequestInit;
}): Promise<SiteDomainRecord>;
export declare function removeDomainRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<RemoveDomainResponse>;
export declare function syncCustomDomainToEdgeConfig(apiClient: ApiClient, siteId: string, options?: RequestInit): Promise<{
    success: boolean;
    domain: string;
    siteId: string;
    message: string;
}>;
export declare function retryDomainConfigRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<DomainConfigResult>;
export declare function getDomainDnsRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<GetDomainDnsResponse>;
export declare function verifyDomainDnsRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<VerifyDomainDnsResponse>;
type RetryNameserversResponse = NonNullable<APIEndpoints['retryDomainNameservers']['response']>;
type RetryVercelResponse = NonNullable<APIEndpoints['retryDomainVercel']['response']>;
type RetryResendResponse = NonNullable<APIEndpoints['retryDomainResend']['response']>;
type DomainIdRequest = {
    domainId: string;
    options?: RequestInit;
};
export declare function retryNameserversRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryNameserversResponse>;
export declare function updateRegisteredDomainContactRequest(apiClient: ApiClient, { domainId, contact, options }: DomainIdRequest & {
    contact: SiteDomainContactPayload;
}): Promise<RegistrarLifecycleResponse>;
export declare function setRegisteredDomainPrivacyRequest(apiClient: ApiClient, { domainId, enabled, options }: DomainIdRequest & RegistrarBooleanMutationRequest): Promise<RegistrarLifecycleResponse>;
export declare function setRegisteredDomainAutoRenewRequest(apiClient: ApiClient, { domainId, enabled, options }: DomainIdRequest & RegistrarBooleanMutationRequest): Promise<RegistrarLifecycleResponse>;
export declare function getRegisteredDomainRenewalPostureRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RegistrarRenewalPostureResponse>;
export declare function retryVercelRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryVercelResponse>;
export declare function retryResendRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryResendResponse>;
export {};
