import * as core from "@terrascript/core";
export interface TechContactArgs extends core.SchemaArgs {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export declare class TechContact extends core.Schema<TechContactArgs> {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export interface RegistrantContactArgs extends core.SchemaArgs {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export declare class RegistrantContact extends core.Schema<RegistrantContactArgs> {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export interface AdminContactArgs extends core.SchemaArgs {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export declare class AdminContact extends core.Schema<AdminContactArgs> {
    addressLine1?: string | core.StringOut;
    addressLine2?: string | core.StringOut;
    city?: string | core.StringOut;
    contactType?: string | core.StringOut;
    countryCode?: string | core.StringOut;
    email?: string | core.StringOut;
    extraParams?: core.Map<string, string> | core.MapOut<core.StringOut>;
    fax?: string | core.StringOut;
    firstName?: string | core.StringOut;
    lastName?: string | core.StringOut;
    organizationName?: string | core.StringOut;
    phoneNumber?: string | core.StringOut;
    state?: string | core.StringOut;
    zipCode?: string | core.StringOut;
}
export interface NameServerArgs extends core.SchemaArgs {
    glueIps?: core.Array<string> | core.ArrayOut<core.StringOut>;
    name: string | core.StringOut;
}
export declare class NameServer extends core.Schema<NameServerArgs> {
    glueIps?: core.Array<string> | core.ArrayOut<core.StringOut>;
    name: string | core.StringOut;
}
export interface RegisteredDomainArgs extends core.ResourceArgs {
    adminContact?: AdminContact;
    adminPrivacy?: boolean | core.BooleanOut;
    autoRenew?: boolean | core.BooleanOut;
    domainName: string | core.StringOut;
    nameServer?: core.Array<NameServer> | core.ArrayOut<NameServer>;
    registrantContact?: RegistrantContact;
    registrantPrivacy?: boolean | core.BooleanOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    techContact?: TechContact;
    techPrivacy?: boolean | core.BooleanOut;
    transferLock?: boolean | core.BooleanOut;
}
export declare class RegisteredDomain extends core.Resource<RegisteredDomainArgs> {
    abuseContactEmail: string | core.StringOut;
    abuseContactPhone: string | core.StringOut;
    adminContact?: AdminContact;
    adminPrivacy?: boolean | core.BooleanOut;
    autoRenew?: boolean | core.BooleanOut;
    creationDate: string | core.StringOut;
    domainName: string | core.StringOut;
    expirationDate: string | core.StringOut;
    id: string | core.StringOut;
    nameServer?: core.Array<NameServer> | core.ArrayOut<NameServer>;
    registrantContact?: RegistrantContact;
    registrantPrivacy?: boolean | core.BooleanOut;
    registrarName: string | core.StringOut;
    registrarUrl: string | core.StringOut;
    reseller: string | core.StringOut;
    statusList: 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>;
    techContact?: TechContact;
    techPrivacy?: boolean | core.BooleanOut;
    transferLock?: boolean | core.BooleanOut;
    updatedDate: string | core.StringOut;
    whoisServer: string | core.StringOut;
    constructor(name: string, args?: RegisteredDomainArgs);
    getNamespace(): string;
}
//# sourceMappingURL=registered_domain.d.ts.map