/**
 * Custom domain certificate operations for Managed Runtime.
 *
 * Certificates are organization-scoped and can be associated with environments
 * via the `certificate_id` field on target create/update/clone operations.
 *
 * @module operations/mrt/certificate
 */
import type { AuthStrategy } from '../../auth/types.js';
import type { components } from '../../clients/mrt.js';
export type MrtCertificate = components['schemas']['CertificateBase'];
export type MrtCertificateListCreate = components['schemas']['CertificateListCreate'];
export interface ListCertificatesOptions {
    organizationSlug: string;
    limit?: number;
    offset?: number;
    ordering?: string;
    search?: string;
    /** When true, return only customer-managed certificates. */
    customOnly?: boolean;
    origin?: string;
}
export interface ListCertificatesResult {
    count: number;
    next: string | null;
    previous: string | null;
    certificates: MrtCertificateListCreate[];
}
export declare function listCertificates(options: ListCertificatesOptions, auth: AuthStrategy): Promise<ListCertificatesResult>;
export interface GetCertificateOptions {
    organizationSlug: string;
    certId: number;
    origin?: string;
}
export declare function getCertificate(options: GetCertificateOptions, auth: AuthStrategy): Promise<MrtCertificate>;
export interface CreateCertificateOptions {
    organizationSlug: string;
    /**
     * The domain for the certificate (e.g. shop.example.com).
     */
    domainName: string;
    origin?: string;
}
export declare function createCertificate(options: CreateCertificateOptions, auth: AuthStrategy): Promise<MrtCertificateListCreate>;
export interface DeleteCertificateOptions {
    organizationSlug: string;
    certId: number;
    origin?: string;
}
export declare function deleteCertificate(options: DeleteCertificateOptions, auth: AuthStrategy): Promise<void>;
export interface RestartCertificateValidationOptions {
    organizationSlug: string;
    certId: number;
    origin?: string;
}
/**
 * Restarts validation for a certificate. Only works for certificates that have
 * not yet been validated.
 */
export declare function restartCertificateValidation(options: RestartCertificateValidationOptions, auth: AuthStrategy): Promise<MrtCertificate>;
