import type { ActivationStateReadModel, ActivationStatusRecord, PromptReplacementCommit, PromptReplacementOutcome } from './activation-types.js'; import type { SqliteConnection } from '../store/sqlite-connection.js'; export declare class SqliteActivationStateStore implements ActivationStateReadModel { private readonly connection; constructor(connection: SqliteConnection); getActivationStatus(idempotencyKey: string): Promise; recordActivation(record: ActivationStatusRecord): Promise; listPromptActivations(includeDeactivated?: boolean): Promise; listCodeToolHookActivations(includeDeactivated?: boolean): Promise; listAllActivations(): Promise; deactivateActivation(activationId: string, deactivatedAt: string): Promise; /** * PD_PROMPT_CAPACITY_V1 R-B3: atomic prompt-version replacement — the * prompt-channel sibling of the RuleCode promotion commit's supersede * (sqlite-activation-safety-store.ts). ONE BEGIN IMMEDIATE transaction * commits, in order: (validations) → new activation row → immutable * `supersede` decision row → deactivation of the prior live activation. * A failure anywhere rolls back to the OLD-ONLY state (the Owner never * loses the working version); there is no stop-old-then-start-new window. * * Idempotent by construction: replaying after success takes the * `already_replaced` branch (new row already live; old deactivation and * decision row are INSERT OR IGNORE / idempotent UPDATE). It also RECOVERS * the rare "new artifact activated normally earlier" state by completing * the supersede inside the same transaction instead of failing. */ replacePromptActivation(input: PromptReplacementCommit): Promise; promoteActivation(activationId: string, promotedAt: string): Promise; } //# sourceMappingURL=sqlite-activation-state-store.d.ts.map