import { type NativeWorkspaceBinding } from './native-workspace.js'; import type { NativeChangeSchemaInspection, NativeChangeState, CometProjectConfig, NativeContentSnapshotManifest, NativeLegacyChangeState, NativeProjectPaths, NativeVerificationProtocol, NativeV2ChangeState } from './native-types.js'; export declare const NATIVE_CHANGE_STATE_FILE = "comet-state.yaml"; export declare class NativeSchemaMigrationRequiredError extends Error { readonly change: string; readonly schema: string; readonly code = "native-schema-migration-required"; constructor(change: string, schema: string); } export declare class NativeRuntimeCompatibilityError extends Error { readonly schema: string; readonly minimumRuntimeVersion: number | null; readonly code = "native-runtime-incompatible"; constructor(schema: string, minimumRuntimeVersion: number | null); } export declare class NativeChangeRevisionConflictError extends Error { readonly change: string; readonly expectedRevision: number; readonly actualRevision: number; readonly code = "native-change-revision-conflict"; constructor(change: string, expectedRevision: number, actualRevision: number); } export declare class NativeWorkspaceIsolationRequiredError extends Error { readonly requestedIsolation: NativeWorkspaceBinding['isolation']; readonly activeChanges: string[]; readonly code = "native-workspace-isolation-required"; constructor(requestedIsolation: NativeWorkspaceBinding['isolation'], activeChanges: string[]); } export declare class NativeBaselineIncompleteError extends Error { readonly change: string; readonly omittedCount: number; readonly omittedByReason: Record; readonly samplePaths: string[]; readonly sampleTruncated: boolean; readonly effectiveLimits: NativeContentSnapshotManifest['limits'] | null; readonly policyHash: string | null; readonly code = "native-baseline-incomplete"; constructor(change: string, omittedCount: number, omittedByReason: Record, samplePaths: string[], sampleTruncated: boolean, effectiveLimits?: NativeContentSnapshotManifest['limits'] | null, policyHash?: string | null); } export declare const NATIVE_BRIEF_TEMPLATE: string; export declare function assertNativeName(value: string): void; export declare function assertCapabilityId(value: string): void; export declare function parseLegacyNativeChangeValue(value: unknown): NativeLegacyChangeState; export declare function parseV2NativeChangeValue(value: unknown): NativeV2ChangeState; export declare function parseNativeChangeValue(value: unknown): NativeChangeState; export declare function inspectNativeChangeValue(value: unknown): NativeChangeSchemaInspection; export declare function nativeChangeDocument(state: NativeChangeState): Record; export declare function nativeV2ChangeDocument(state: NativeV2ChangeState): Record; export declare function nativeChangeDir(paths: NativeProjectPaths, name: string): string; export declare function hasPendingNativeSchemaMigration(paths: NativeProjectPaths, name: string): Promise; export declare function hasPendingNativeCheckpointRecovery(paths: NativeProjectPaths, name: string): Promise; export declare function createNativeChange(options: { paths: NativeProjectPaths; name: string; language: 'en' | 'zh-CN'; verificationProtocol?: NativeVerificationProtocol; workspaceBinding?: NativeWorkspaceBinding; initialProjectConfig?: CometProjectConfig; now?: Date; }): Promise; export declare const NATIVE_CHANGE_DOCUMENT_MAX_BYTES: number; export declare function inspectNativeChange(paths: NativeProjectPaths, name: string): Promise; /** * Read only the change state document for lightweight candidate discovery. * * Unlike `inspectNativeChange`, this deliberately does not inspect schema-migration journals, * baselines, workspace identity, or any other Runtime artifact. Callers must use the full * inspection before resuming or mutating the selected change. */ export declare function inspectNativeChangeStateDocument(paths: NativeProjectPaths, name: string): Promise; export declare function readNativeChange(paths: NativeProjectPaths, name: string): Promise; export declare function writeNativeChange(paths: NativeProjectPaths, state: NativeChangeState): Promise; export declare function compareAndSwapNativeChangeFile(file: string, state: NativeChangeState, expectedRevision: number): Promise; export declare function compareAndSwapNativeChangeLocked(paths: NativeProjectPaths, state: NativeChangeState, expectedRevision: number, options?: { allowPendingCheckpointRecovery?: boolean; }): Promise; export declare function compareAndSwapNativeChange(paths: NativeProjectPaths, state: NativeChangeState, expectedRevision: number): Promise; export declare function writeNativeChangeFile(file: string, state: NativeChangeState): Promise; export declare function readNativeChangeFile(file: string): Promise; export declare function listNativeChanges(paths: NativeProjectPaths): Promise; export declare function listActiveNativeChangesOwnedByWorkspace(paths: NativeProjectPaths): Promise; //# sourceMappingURL=native-change.d.ts.map