import { APIResource } from "../../../../../core/resource.mjs";
import * as PoliciesAPI from "../policies.mjs";
import { SplitTunnelExcludesSinglePage } from "../policies.mjs";
import { PagePromise } from "../../../../../core/pagination.mjs";
import { RequestOptions } from "../../../../../internal/request-options.mjs";
export declare class BaseExcludes extends APIResource {
    static readonly _key: readonly ['zeroTrust', 'devices', 'policies', 'default', 'excludes'];
    /**
     * Sets the list of routes excluded from the WARP client's tunnel.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const splitTunnelExclude of client.zeroTrust.devices.policies.default.excludes.update(
     *   {
     *     account_id: '699d98642c564d2e855e9661899b7252',
     *     body: [{ address: '192.0.2.0/24' }],
     *   },
     * )) {
     *   // ...
     * }
     * ```
     */
    update(params: ExcludeUpdateParams, options?: RequestOptions): PagePromise<SplitTunnelExcludesSinglePage, PoliciesAPI.SplitTunnelExclude>;
    /**
     * Fetches the list of routes excluded from the WARP client's tunnel.
     *
     * @example
     * ```ts
     * // Automatically fetches more pages as needed.
     * for await (const splitTunnelExclude of client.zeroTrust.devices.policies.default.excludes.get(
     *   { account_id: '699d98642c564d2e855e9661899b7252' },
     * )) {
     *   // ...
     * }
     * ```
     */
    get(params: ExcludeGetParams, options?: RequestOptions): PagePromise<SplitTunnelExcludesSinglePage, PoliciesAPI.SplitTunnelExclude>;
}
export declare class Excludes extends BaseExcludes {
}
export interface ExcludeUpdateParams {
    /**
     * Path param
     */
    account_id: string;
    /**
     * Body param
     */
    body: Array<PoliciesAPI.SplitTunnelExcludeParam>;
}
export interface ExcludeGetParams {
    account_id: string;
}
export declare namespace Excludes {
    export { type ExcludeUpdateParams as ExcludeUpdateParams, type ExcludeGetParams as ExcludeGetParams };
}
export { type SplitTunnelExcludesSinglePage };
//# sourceMappingURL=excludes.d.mts.map