import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as AddressesAPI from 'cloudflare/resources/email-routing/addresses';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination';
export declare class Addresses extends APIResource {
    /**
     * Create a destination address to forward your emails to. Destination addresses
     * need to be verified before they can be used.
     */
    create(accountIdentifier: string, body: AddressCreateParams, options?: Core.RequestOptions): Core.APIPromise<AddressCreateResponse>;
    /**
     * Lists existing destination addresses.
     */
    list(accountIdentifier: string, query?: AddressListParams, options?: Core.RequestOptions): Core.PagePromise<AddressListResponsesV4PagePaginationArray, AddressListResponse>;
    list(accountIdentifier: string, options?: Core.RequestOptions): Core.PagePromise<AddressListResponsesV4PagePaginationArray, AddressListResponse>;
    /**
     * Deletes a specific destination address.
     */
    delete(accountIdentifier: string, destinationAddressIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<AddressDeleteResponse>;
    /**
     * Gets information for a specific destination email already created.
     */
    get(accountIdentifier: string, destinationAddressIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<AddressGetResponse>;
}
export declare class AddressListResponsesV4PagePaginationArray extends V4PagePaginationArray<AddressListResponse> {
}
export interface EmailAddresses {
    /**
     * Destination address identifier.
     */
    id?: string;
    /**
     * The date and time the destination address has been created.
     */
    created?: string;
    /**
     * The contact email address of the user.
     */
    email?: string;
    /**
     * The date and time the destination address was last modified.
     */
    modified?: string;
    /**
     * @deprecated: Destination address tag. (Deprecated, replaced by destination
     * address identifier)
     */
    tag?: string;
    /**
     * The date and time the destination address has been verified. Null means not
     * verified yet.
     */
    verified?: string;
}
export interface AddressCreateResponse {
    /**
     * Destination address identifier.
     */
    id?: string;
    /**
     * The date and time the destination address has been created.
     */
    created?: string;
    /**
     * The contact email address of the user.
     */
    email?: string;
    /**
     * The date and time the destination address was last modified.
     */
    modified?: string;
    /**
     * @deprecated: Destination address tag. (Deprecated, replaced by destination
     * address identifier)
     */
    tag?: string;
    /**
     * The date and time the destination address has been verified. Null means not
     * verified yet.
     */
    verified?: string;
}
export interface AddressListResponse {
    /**
     * Destination address identifier.
     */
    id?: string;
    /**
     * The date and time the destination address has been created.
     */
    created?: string;
    /**
     * The contact email address of the user.
     */
    email?: string;
    /**
     * The date and time the destination address was last modified.
     */
    modified?: string;
    /**
     * @deprecated: Destination address tag. (Deprecated, replaced by destination
     * address identifier)
     */
    tag?: string;
    /**
     * The date and time the destination address has been verified. Null means not
     * verified yet.
     */
    verified?: string;
}
export interface AddressDeleteResponse {
    /**
     * Destination address identifier.
     */
    id?: string;
    /**
     * The date and time the destination address has been created.
     */
    created?: string;
    /**
     * The contact email address of the user.
     */
    email?: string;
    /**
     * The date and time the destination address was last modified.
     */
    modified?: string;
    /**
     * @deprecated: Destination address tag. (Deprecated, replaced by destination
     * address identifier)
     */
    tag?: string;
    /**
     * The date and time the destination address has been verified. Null means not
     * verified yet.
     */
    verified?: string;
}
export interface AddressGetResponse {
    /**
     * Destination address identifier.
     */
    id?: string;
    /**
     * The date and time the destination address has been created.
     */
    created?: string;
    /**
     * The contact email address of the user.
     */
    email?: string;
    /**
     * The date and time the destination address was last modified.
     */
    modified?: string;
    /**
     * @deprecated: Destination address tag. (Deprecated, replaced by destination
     * address identifier)
     */
    tag?: string;
    /**
     * The date and time the destination address has been verified. Null means not
     * verified yet.
     */
    verified?: string;
}
export interface AddressCreateParams {
    /**
     * The contact email address of the user.
     */
    email: string;
}
export interface AddressListParams extends V4PagePaginationArrayParams {
    /**
     * Sorts results in an ascending or descending order.
     */
    direction?: 'asc' | 'desc';
    /**
     * Filter by verified destination addresses.
     */
    verified?: true | false;
}
export declare namespace 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=addresses.d.ts.map