import { APIResource } from "../../core/resource.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseHostnameAssociations extends APIResource {
    static readonly _key: readonly ['certificateAuthorities', 'hostnameAssociations'];
    /**
     * Replace Hostname Associations.
     */
    update(params: HostnameAssociationUpdateParams, options?: RequestOptions): APIPromise<HostnameAssociationUpdateResponse>;
    /**
     * List Hostname Associations.
     */
    get(params: HostnameAssociationGetParams, options?: RequestOptions): APIPromise<HostnameAssociationGetResponse>;
}
export declare class HostnameAssociations extends BaseHostnameAssociations {
}
export interface TLSHostnameAssociation {
    hostnames?: Array<string>;
    /**
     * The UUID for a certificate that was uploaded to the mTLS Certificate Management
     * endpoint. If no mtls_certificate_id is given, the hostnames will be associated
     * to your active Cloudflare Managed CA.
     */
    mtls_certificate_id?: string;
}
export interface HostnameAssociationUpdateResponse {
    hostnames?: Array<string>;
}
export interface HostnameAssociationGetResponse {
    hostnames?: Array<string>;
}
export interface HostnameAssociationUpdateParams {
    /**
     * Path param: Identifier.
     */
    zone_id: string;
    /**
     * Body param
     */
    hostnames?: Array<string>;
    /**
     * Body param: The UUID for a certificate that was uploaded to the mTLS Certificate
     * Management endpoint. If no mtls_certificate_id is given, the hostnames will be
     * associated to your active Cloudflare Managed CA.
     */
    mtls_certificate_id?: string;
}
export interface HostnameAssociationGetParams {
    /**
     * Path param: Identifier.
     */
    zone_id: string;
    /**
     * Query param: The UUID to match against for a certificate that was uploaded to
     * the mTLS Certificate Management endpoint. If no mtls_certificate_id is given,
     * the results will be the hostnames associated to your active Cloudflare Managed
     * CA.
     */
    mtls_certificate_id?: string;
}
export declare namespace HostnameAssociations {
    export { type TLSHostnameAssociation as TLSHostnameAssociation, type HostnameAssociationUpdateResponse as HostnameAssociationUpdateResponse, type HostnameAssociationGetResponse as HostnameAssociationGetResponse, type HostnameAssociationUpdateParams as HostnameAssociationUpdateParams, type HostnameAssociationGetParams as HostnameAssociationGetParams, };
}
//# sourceMappingURL=hostname-associations.d.mts.map