import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as EmailRoutingAPI from 'cloudflare/resources/email-routing/email-routing';
import * as AddressesAPI from 'cloudflare/resources/email-routing/addresses';
import * as DNSAPI from 'cloudflare/resources/email-routing/dns';
import * as RulesAPI from 'cloudflare/resources/email-routing/rules/rules';
export declare class EmailRouting extends APIResource {
    dns: DNSAPI.DNS;
    rules: RulesAPI.Rules;
    addresses: AddressesAPI.Addresses;
    /**
     * Disable your Email Routing zone. Also removes additional MX records previously
     * required for Email Routing to work.
     */
    disable(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<EmailRoutingDisableResponse>;
    /**
     * Enable you Email Routing zone. Add and lock the necessary MX and SPF records.
     */
    enable(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<EmailRoutingEnableResponse>;
    /**
     * Get information about the settings for your Email Routing zone.
     */
    get(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<EmailRoutingGetResponse>;
}
export interface EmailSettings {
    /**
     * Email Routing settings identifier.
     */
    id?: string;
    /**
     * The date and time the settings have been created.
     */
    created?: string;
    /**
     * State of the zone settings for Email Routing.
     */
    enabled?: true | false;
    /**
     * The date and time the settings have been modified.
     */
    modified?: string;
    /**
     * Domain of your zone.
     */
    name?: string;
    /**
     * Flag to check if the user skipped the configuration wizard.
     */
    skip_wizard?: true | false;
    /**
     * Show the state of your account, and the type or configuration error.
     */
    status?: 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
    /**
     * @deprecated: Email Routing settings tag. (Deprecated, replaced by Email Routing
     * settings identifier)
     */
    tag?: string;
}
export interface EmailRoutingDisableResponse {
    /**
     * Email Routing settings identifier.
     */
    id?: string;
    /**
     * The date and time the settings have been created.
     */
    created?: string;
    /**
     * State of the zone settings for Email Routing.
     */
    enabled?: true | false;
    /**
     * The date and time the settings have been modified.
     */
    modified?: string;
    /**
     * Domain of your zone.
     */
    name?: string;
    /**
     * Flag to check if the user skipped the configuration wizard.
     */
    skip_wizard?: true | false;
    /**
     * Show the state of your account, and the type or configuration error.
     */
    status?: 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
    /**
     * @deprecated: Email Routing settings tag. (Deprecated, replaced by Email Routing
     * settings identifier)
     */
    tag?: string;
}
export interface EmailRoutingEnableResponse {
    /**
     * Email Routing settings identifier.
     */
    id?: string;
    /**
     * The date and time the settings have been created.
     */
    created?: string;
    /**
     * State of the zone settings for Email Routing.
     */
    enabled?: true | false;
    /**
     * The date and time the settings have been modified.
     */
    modified?: string;
    /**
     * Domain of your zone.
     */
    name?: string;
    /**
     * Flag to check if the user skipped the configuration wizard.
     */
    skip_wizard?: true | false;
    /**
     * Show the state of your account, and the type or configuration error.
     */
    status?: 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
    /**
     * @deprecated: Email Routing settings tag. (Deprecated, replaced by Email Routing
     * settings identifier)
     */
    tag?: string;
}
export interface EmailRoutingGetResponse {
    /**
     * Email Routing settings identifier.
     */
    id?: string;
    /**
     * The date and time the settings have been created.
     */
    created?: string;
    /**
     * State of the zone settings for Email Routing.
     */
    enabled?: true | false;
    /**
     * The date and time the settings have been modified.
     */
    modified?: string;
    /**
     * Domain of your zone.
     */
    name?: string;
    /**
     * Flag to check if the user skipped the configuration wizard.
     */
    skip_wizard?: true | false;
    /**
     * Show the state of your account, and the type or configuration error.
     */
    status?: 'ready' | 'unconfigured' | 'misconfigured' | 'misconfigured/locked' | 'unlocked';
    /**
     * @deprecated: Email Routing settings tag. (Deprecated, replaced by Email Routing
     * settings identifier)
     */
    tag?: string;
}
export declare namespace EmailRouting {
    export import EmailSettings = EmailRoutingAPI.EmailSettings;
    export import EmailRoutingDisableResponse = EmailRoutingAPI.EmailRoutingDisableResponse;
    export import EmailRoutingEnableResponse = EmailRoutingAPI.EmailRoutingEnableResponse;
    export import EmailRoutingGetResponse = EmailRoutingAPI.EmailRoutingGetResponse;
    export import DNS = DNSAPI.DNS;
    export import EmailDNSRecord = DNSAPI.EmailDNSRecord;
    export import DNSGetResponse = DNSAPI.DNSGetResponse;
    export import Rules = RulesAPI.Rules;
    export import EmailRules = RulesAPI.EmailRules;
    export import RuleCreateResponse = RulesAPI.RuleCreateResponse;
    export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
    export import RuleListResponse = RulesAPI.RuleListResponse;
    export import RuleDeleteResponse = RulesAPI.RuleDeleteResponse;
    export import RuleGetResponse = RulesAPI.RuleGetResponse;
    export import RuleListResponsesV4PagePaginationArray = RulesAPI.RuleListResponsesV4PagePaginationArray;
    export import RuleCreateParams = RulesAPI.RuleCreateParams;
    export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
    export import RuleListParams = RulesAPI.RuleListParams;
    export import Addresses = AddressesAPI.Addresses;
    export import EmailAddresses = AddressesAPI.EmailAddresses;
    export import AddressCreateResponse = AddressesAPI.AddressCreateResponse;
    export import AddressListResponse = AddressesAPI.AddressListResponse;
    export import AddressDeleteResponse = AddressesAPI.AddressDeleteResponse;
    export import AddressGetResponse = AddressesAPI.AddressGetResponse;
    export import AddressListResponsesV4PagePaginationArray = AddressesAPI.AddressListResponsesV4PagePaginationArray;
    export import AddressCreateParams = AddressesAPI.AddressCreateParams;
    export import AddressListParams = AddressesAPI.AddressListParams;
}
//# sourceMappingURL=email-routing.d.ts.map