/** * The client-side Remote face of the `budget` namespace: the hand-written * `TypertRemoteContribution` mounted through `ctx.remote.$mount`, plus the * declaration merging that types `ctx.remote.budget`. The descriptor list is * shared with the host `./typert` manifest (`../wire.ts`), so the two faces * can never drift. * * @module dsh-budget/client/remote */ import type { RemoteResult } from '@deepseek-ai/dsh-typert-protocol'; import type { BudgetStatus } from '../wire.js'; declare module '@deepseek-ai/dsh-typert-protocol' { interface TypertRemoteNamespace$budget { /** Read the current budget snapshot (session-attributed). */ status: (sessionId?: string) => Promise>; /** Apply runtime budget caps and alert switches (panel). */ setSettings: (settingsJson: string) => Promise>; /** Lift one blocked scope after user confirmation. */ unblock: (scope: string) => Promise>; } interface TypertRemoteMap { 'budget/status': (sessionId?: string) => Promise>; 'budget/setSettings': (settingsJson: string) => Promise>; 'budget/unblock': (scope: string) => Promise>; } interface TypertRemoteNamespaceMap { budget: TypertRemoteNamespace$budget; } } /** The client Remote contribution for the `budget` namespace. */ export declare const BUDGET_REMOTE: Readonly<{ package: string; descriptors: readonly (Readonly<{ readonly id: "dsh-budget#budget/status"; readonly service: "budget"; readonly namespace: "budget"; readonly method: "status"; readonly invocation: Readonly<{ kind: "direct"; }>; readonly parameters: readonly Readonly<{ name: string; wire: string; source: "json"; codec: Readonly<{ create: () => import("zod").ZodOptional; mode: "strict"; typeSymbol: string; schema: import("zod").ZodOptional; }>; acceptsUndefined: true; }>[]; readonly result: Readonly<{ create: () => import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; mode: "strict"; typeSymbol: string; schema: import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; }>; readonly sourceLocation: Readonly<{ file: "src/wire.ts"; line: 1; column: 1; }>; }> | Readonly<{ readonly id: "dsh-budget#budget/setSettings"; readonly service: "budget"; readonly namespace: "budget"; readonly method: "setSettings"; readonly invocation: Readonly<{ kind: "direct"; }>; readonly parameters: readonly Readonly<{ name: string; wire: string; source: "json"; codec: Readonly<{ create: () => import("zod").ZodString; mode: "strict"; typeSymbol: string; schema: import("zod").ZodString; }>; }>[]; readonly result: Readonly<{ create: () => import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; mode: "strict"; typeSymbol: string; schema: import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; }>; readonly sourceLocation: Readonly<{ file: "src/wire.ts"; line: 1; column: 1; }>; }> | Readonly<{ readonly id: "dsh-budget#budget/unblock"; readonly service: "budget"; readonly namespace: "budget"; readonly method: "unblock"; readonly invocation: Readonly<{ kind: "direct"; }>; readonly parameters: readonly Readonly<{ name: string; wire: string; source: "json"; codec: Readonly<{ create: () => import("zod").ZodEnum<{ session: "session"; daily: "daily"; monthly: "monthly"; }>; mode: "strict"; typeSymbol: string; schema: import("zod").ZodEnum<{ session: "session"; daily: "daily"; monthly: "monthly"; }>; }>; }>[]; readonly result: Readonly<{ create: () => import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; mode: "strict"; typeSymbol: string; schema: import("zod").ZodObject<{ scopes: import("zod").ZodArray; capUsd: import("zod").ZodNullable; usedUsd: import("zod").ZodNumber; ratio: import("zod").ZodNumber; tokens: import("zod").ZodNumber; carbonKg: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; models: import("zod").ZodArray; p50: import("zod").ZodNullable; p95: import("zod").ZodNullable; max: import("zod").ZodNullable; samples: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; priced: import("zod").ZodBoolean; }, import("zod/v4/core").$strip>>; alerts: import("zod").ZodArray; kind: import("zod").ZodUnion, import("zod").ZodLiteral<"over">]>; at: import("zod").ZodNumber; usedUsd: import("zod").ZodNumber; capUsd: import("zod").ZodNumber; }, import("zod/v4/core").$strip>>; blockedScopes: import("zod").ZodArray>; currency: import("zod").ZodObject<{ code: import("zod").ZodString; rate: import("zod").ZodNumber; decimals: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; alertsEnabled: import("zod").ZodBoolean; desktopNotifications: import("zod").ZodBoolean; degradedModel: import("zod").ZodNullable; days: import("zod").ZodArray>; warnRatio: import("zod").ZodNumber; refreshIntervalMs: import("zod").ZodNumber; }, import("zod/v4/core").$strip>; }>; readonly sourceLocation: Readonly<{ file: "src/wire.ts"; line: 1; column: 1; }>; }>)[]; }>; //# sourceMappingURL=remote.d.ts.map