import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as AddressesAPI from 'cloudflaredev/resources/email-routing/addresses';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflaredev/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<Address>;
    /**
     * Lists existing destination addresses.
     */
    list(accountIdentifier: string, query?: AddressListParams, options?: Core.RequestOptions): Core.PagePromise<AddressesV4PagePaginationArray, Address>;
    list(accountIdentifier: string, options?: Core.RequestOptions): Core.PagePromise<AddressesV4PagePaginationArray, Address>;
    /**
     * Deletes a specific destination address.
     */
    delete(accountIdentifier: string, destinationAddressIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<Address>;
    /**
     * Gets information for a specific destination email already created.
     */
    get(accountIdentifier: string, destinationAddressIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<Address>;
}
export declare class AddressesV4PagePaginationArray extends V4PagePaginationArray<Address> {
}
export interface Address {
    /**
     * 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 Address = AddressesAPI.Address;
    export import AddressesV4PagePaginationArray = AddressesAPI.AddressesV4PagePaginationArray;
    export import AddressCreateParams = AddressesAPI.AddressCreateParams;
    export import AddressListParams = AddressesAPI.AddressListParams;
}
//# sourceMappingURL=addresses.d.ts.map