/** * Worker and deployment drain operations. * * Draining is an operator action: it keeps existing in-flight assignments * visible while excluding matching workers from new routing decisions. Worker * drains apply to one connected worker; deployment drains apply to every * current and future worker that registers the same deployment name. * * @module server/operations/worker-drain */ import { z } from 'zod'; import type { WorkerDrainMutationResult, WorkerRegistry } from '../../worker/registry.ts'; import type { UnknownRestBinding } from '../rest-bindings.ts'; declare const workerDrainInput: z.ZodObject<{ workerId: z.ZodString; reason: z.ZodOptional; }, z.core.$strip>; declare const workerDrainClearInput: z.ZodObject<{ workerId: z.ZodString; }, z.core.$strip>; declare const deploymentDrainInput: z.ZodObject<{ deploymentName: z.ZodString; reason: z.ZodOptional; }, z.core.$strip>; declare const deploymentDrainClearInput: z.ZodObject<{ deploymentName: z.ZodString; }, z.core.$strip>; export type WorkerDrainInput = z.infer; export type WorkerDrainClearInput = z.infer; export type DeploymentDrainInput = z.infer; export type DeploymentDrainClearInput = z.infer; export type WorkerDrainOutput = WorkerDrainMutationResult; type WorkerDrainOperationOptions = { workerRegistry?: WorkerRegistry; clock?: () => number; }; export declare function createDrainWorkerOperation(options?: WorkerDrainOperationOptions): import("../operation-catalog.ts").OperationDefinition<{ workerId: string; reason?: string | undefined; }, WorkerDrainMutationResult, unknown>; export declare function createClearWorkerDrainOperation(options?: WorkerDrainOperationOptions): import("../operation-catalog.ts").OperationDefinition<{ workerId: string; }, WorkerDrainMutationResult, unknown>; export declare function createDrainDeploymentOperation(options?: WorkerDrainOperationOptions): import("../operation-catalog.ts").OperationDefinition<{ deploymentName: string; reason?: string | undefined; }, WorkerDrainMutationResult, unknown>; export declare function createClearDeploymentDrainOperation(options?: WorkerDrainOperationOptions): import("../operation-catalog.ts").OperationDefinition<{ deploymentName: string; }, WorkerDrainMutationResult, unknown>; export declare const drainWorkerOperation: import("../operation-catalog.ts").OperationDefinition<{ workerId: string; reason?: string | undefined; }, WorkerDrainMutationResult, unknown>; export declare const clearWorkerDrainOperation: import("../operation-catalog.ts").OperationDefinition<{ workerId: string; }, WorkerDrainMutationResult, unknown>; export declare const drainDeploymentOperation: import("../operation-catalog.ts").OperationDefinition<{ deploymentName: string; reason?: string | undefined; }, WorkerDrainMutationResult, unknown>; export declare const clearDeploymentDrainOperation: import("../operation-catalog.ts").OperationDefinition<{ deploymentName: string; }, WorkerDrainMutationResult, unknown>; export declare function createDrainWorkerRestBinding(): UnknownRestBinding; export declare function createClearWorkerDrainRestBinding(): UnknownRestBinding; export declare function createDrainDeploymentRestBinding(): UnknownRestBinding; export declare function createClearDeploymentDrainRestBinding(): UnknownRestBinding; export {};