import { ChannelPolicyManager } from '../policy-manager.js'; import type { ChannelAccountRecord, ChannelAllowlistEditInput, ChannelAllowlistEditResult, ChannelAllowlistResolution, ChannelDoctorReport, ChannelLifecycleState, ChannelRepairAction, ChannelResolvedTarget, ChannelRuntimeObservation, ChannelSurface, ChannelTargetResolveOptions } from '../types.js'; import type { ChannelPlugin } from '../plugin-registry.js'; import { type BuiltinChannelRuntimeDeps } from './shared.js'; interface BuiltinContractContext { readonly deps: BuiltinChannelRuntimeDeps; readonly channelPolicy: ChannelPolicyManager; readonly buildAccount: (surface: ChannelSurface) => Promise; readonly resolveAccount: (surface: ChannelSurface, accountId: string) => Promise; readonly resolveTarget: (surface: ChannelSurface, options: ChannelTargetResolveOptions) => Promise; /** * What this node can see of the surface's live path. Optional so an embedder * that composes this context by hand still type-checks, an absent observer * yields `unknown`, which is the honest answer for a caller that supplied no * way to look, and never a green. */ readonly observeRuntime?: ((surface: ChannelSurface) => ChannelRuntimeObservation) | undefined; } export declare function buildBuiltinContractHooks(context: BuiltinContractContext, surface: ChannelSurface): Pick; export declare function listBuiltinRepairActions(context: BuiltinContractContext, surface: ChannelSurface, accountId?: string): Promise; export declare function getBuiltinDoctorReport(context: BuiltinContractContext, surface: ChannelSurface, accountId?: string): Promise; export declare function getBuiltinLifecycleState(context: BuiltinContractContext, surface: ChannelSurface, accountId?: string): Promise; export declare function resolveBuiltinAllowlist(context: BuiltinContractContext, surface: ChannelSurface, input: ChannelAllowlistEditInput): Promise; export declare function editBuiltinAllowlist(context: BuiltinContractContext, surface: ChannelSurface, input: ChannelAllowlistEditInput): Promise; export {}; //# sourceMappingURL=contracts.d.ts.map