import type { APIEndpoints, SiteDomainRecord, DomainConfigResult } from './types';
import type { DomainSearchResultResponse, RegisterDomainRequestPayload, RegisterDomainResponse } 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']>;
export declare function retryNameserversRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<RetryNameserversResponse>;
export declare function retryVercelRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<RetryVercelResponse>;
export declare function retryResendRequest(apiClient: ApiClient, { domainId, options }: {
    domainId: string;
    options?: RequestInit;
}): Promise<RetryResendResponse>;
export {};
