import * as core from "@terrascript/core";
export interface OptionsArgs extends core.SchemaArgs {
    certificateTransparencyLoggingPreference?: string | core.StringOut;
}
export declare class Options extends core.Schema<OptionsArgs> {
    certificateTransparencyLoggingPreference?: string | core.StringOut;
}
export interface DomainValidationOptionsArgs extends core.SchemaArgs {
    domainName: string | core.StringOut;
    resourceRecordName: string | core.StringOut;
    resourceRecordType: string | core.StringOut;
    resourceRecordValue: string | core.StringOut;
}
export declare class DomainValidationOptions extends core.Schema<DomainValidationOptionsArgs> {
    domainName: string | core.StringOut;
    resourceRecordName: string | core.StringOut;
    resourceRecordType: string | core.StringOut;
    resourceRecordValue: string | core.StringOut;
}
export interface ValidationOptionArgs extends core.SchemaArgs {
    domainName: string | core.StringOut;
    validationDomain: string | core.StringOut;
}
export declare class ValidationOption extends core.Schema<ValidationOptionArgs> {
    domainName: string | core.StringOut;
    validationDomain: string | core.StringOut;
}
export interface CertificateArgs extends core.ResourceArgs {
    certificateAuthorityArn?: string | core.StringOut;
    certificateBody?: string | core.StringOut;
    certificateChain?: string | core.StringOut;
    domainName?: string | core.StringOut;
    options?: Options;
    privateKey?: string | core.StringOut;
    subjectAlternativeNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    validationMethod?: string | core.StringOut;
    validationOption?: core.Array<ValidationOption> | core.ArrayOut<ValidationOption>;
}
export declare class Certificate extends core.Resource<CertificateArgs> {
    arn: string | core.StringOut;
    certificateAuthorityArn?: string | core.StringOut;
    certificateBody?: string | core.StringOut;
    certificateChain?: string | core.StringOut;
    domainName?: string | core.StringOut;
    domainValidationOptions: core.Array<DomainValidationOptions> | core.ArrayOut<DomainValidationOptions>;
    id: string | core.StringOut;
    notAfter: string | core.StringOut;
    notBefore: string | core.StringOut;
    options?: Options;
    privateKey?: string | core.StringOut;
    status: string | core.StringOut;
    subjectAlternativeNames?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    validationEmails: core.Array<string> | core.ArrayOut<core.StringOut>;
    validationMethod?: string | core.StringOut;
    validationOption?: core.Array<ValidationOption> | core.ArrayOut<ValidationOption>;
    constructor(name: string, args?: CertificateArgs);
    getNamespace(): string;
}
//# sourceMappingURL=certificate.d.ts.map