import { VercelCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import { AddProjectDomainRequest, AddProjectDomainResponseBody } from "../models/addprojectdomainop.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/httpclienterrors.js";
import { ResponseValidationError } from "../models/responsevalidationerror.js";
import { SDKValidationError } from "../models/sdkvalidationerror.js";
import { VercelError } from "../models/vercelerror.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Add a domain to a project
 *
 * @remarks
 * Add a domain to the project by passing its domain name and by specifying the project by either passing the project `id` or `name` in the URL. If the domain is not yet verified to be used on this project, the request will return `verified = false`, and the domain will need to be verified according to the `verification` challenge via `POST /projects/:idOrName/domains/:domain/verify`. If the domain already exists on the project, the request will fail with a `400` status code.
 *
 * If set, this operation will use {@link Security.bearerToken} from the global security.
 */
export declare function projectsAddProjectDomain(client: VercelCore, request: AddProjectDomainRequest, options?: RequestOptions): APIPromise<Result<AddProjectDomainResponseBody, VercelError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=projectsAddProjectDomain.d.ts.map