/** * Placement (2026-08-05) — "show this app in that slot", as a ROW keyed by * (subject, slot). The three doors, and the two writes the BUILD makes into a * slot before an app record exists. * * Lifted out of `createApps` unchanged. */ import { type AppId, type RunContext } from "@vendoai/core"; import type { PlacementRow } from "../persistence/placements.js"; import type { AppsRuntimeContext } from "../runtime/runtime-context.js"; import type { AppsRuntime, PlacementEntry } from "../runtime/types.js"; /** The slot bookkeeping a build does before there is an app record to place. */ export declare const createPlacementRows: (deps: Pick) => { requireSlot: (slot: string) => string; claimSlot: (appId: AppId, slot: string, ctx: RunContext) => Promise; markUnbuilt: (appId: AppId, name: string, reason: string, ctx: RunContext) => Promise; beginBuild: (appId: AppId, subject: string) => void; buildingNow: (appId: AppId) => boolean; buildingFor: (appId: AppId, ctx: RunContext) => boolean; settleBuild: (appId: AppId) => Promise; entryFor: (row: PlacementRow, ctx: RunContext) => Promise; }; /** The placement slice of `AppsRuntime`. */ export declare const createPlacementSurface: (deps: Pick) => Pick; //# sourceMappingURL=placement-surface.d.ts.map