import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as IncludesAPI from 'cloudflaredev/resources/zero-trust/devices/policies/includes';
import { SinglePage } from 'cloudflaredev/pagination';
export declare class Includes extends APIResource {
    /**
     * Sets the list of routes included in the WARP client's tunnel.
     */
    update(params: IncludeUpdateParams, options?: Core.RequestOptions): Core.APIPromise<IncludeUpdateResponse | null>;
    /**
     * Fetches the list of routes included in the WARP client's tunnel.
     */
    list(params: IncludeListParams, options?: Core.RequestOptions): Core.PagePromise<SplitTunnelIncludesSinglePage, SplitTunnelInclude>;
    /**
     * Fetches the list of routes included in the WARP client's tunnel for a specific
     * device settings profile.
     */
    get(policyId: string, params: IncludeGetParams, options?: Core.RequestOptions): Core.APIPromise<IncludeGetResponse | null>;
}
export declare class SplitTunnelIncludesSinglePage extends SinglePage<SplitTunnelInclude> {
}
export interface SplitTunnelInclude {
    /**
     * The address in CIDR format to include in the tunnel. If address is present, host
     * must not be present.
     */
    address: string;
    /**
     * A description of the split tunnel item, displayed in the client UI.
     */
    description: string;
    /**
     * The domain name to include in the tunnel. If host is present, address must not
     * be present.
     */
    host?: string;
}
export interface SplitTunnelIncludeParam {
    /**
     * The address in CIDR format to include in the tunnel. If address is present, host
     * must not be present.
     */
    address: string;
    /**
     * A description of the split tunnel item, displayed in the client UI.
     */
    description: string;
    /**
     * The domain name to include in the tunnel. If host is present, address must not
     * be present.
     */
    host?: string;
}
export type IncludeUpdateResponse = Array<SplitTunnelInclude>;
export type IncludeGetResponse = Array<SplitTunnelInclude>;
export interface IncludeUpdateParams {
    /**
     * Path param:
     */
    account_id: string;
    /**
     * Body param:
     */
    body: Array<SplitTunnelIncludeParam>;
}
export interface IncludeListParams {
    account_id: string;
}
export interface IncludeGetParams {
    account_id: string;
}
export declare namespace Includes {
    export import SplitTunnelInclude = IncludesAPI.SplitTunnelInclude;
    export import IncludeUpdateResponse = IncludesAPI.IncludeUpdateResponse;
    export import IncludeGetResponse = IncludesAPI.IncludeGetResponse;
    export import SplitTunnelIncludesSinglePage = IncludesAPI.SplitTunnelIncludesSinglePage;
    export import IncludeUpdateParams = IncludesAPI.IncludeUpdateParams;
    export import IncludeListParams = IncludesAPI.IncludeListParams;
    export import IncludeGetParams = IncludesAPI.IncludeGetParams;
}
//# sourceMappingURL=includes.d.ts.map