import { type WarpCoreOpenInput, type WarpCoreRuntimeSurface } from './warp/WarpCoreRuntimeProduct.ts';
import type CryptoPort from '../ports/CryptoPort.ts';
import type { EffectPipeline } from './services/EffectPipeline.ts';
import type { DeliveryObservation } from './types/DeliveryObservation.ts';
import type { EffectEmission } from './types/EffectEmission.ts';
import type { ExternalizationPolicy } from './types/ExternalizationPolicy.ts';
/**
 * Full plumbing-facing WARP surface.
 *
 * `WarpCore` is the honest substrate/tooling entrypoint for replay,
 * materialization, provenance, comparison, and other low-level mechanics.
 * It now adopts an explicit structural core product rather than linking
 * itself onto the `WarpRuntime` prototype.
 *
 * @deprecated For application workflows, use openWarpWorldline(). WarpCore
 * remains supported for substrate tooling, diagnostics, replay, and
 * compatibility with existing graph-first integrations.
 */
export default class WarpCore {
    readonly graphName: WarpCoreRuntimeSurface['graphName'];
    readonly writerId: WarpCoreRuntimeSurface['writerId'];
    readonly traverse: WarpCoreRuntimeSurface['traverse'];
    readonly persistence: WarpCoreRuntimeSurface['persistence'];
    readonly onDeleteWithData: WarpCoreRuntimeSurface['onDeleteWithData'];
    readonly gcPolicy: WarpCoreRuntimeSurface['gcPolicy'];
    readonly seekCache: WarpCoreRuntimeSurface['seekCache'];
    readonly hasNode: WarpCoreRuntimeSurface['hasNode'];
    readonly getNodeProps: WarpCoreRuntimeSurface['getNodeProps'];
    readonly getEdgeProps: WarpCoreRuntimeSurface['getEdgeProps'];
    readonly neighbors: WarpCoreRuntimeSurface['neighbors'];
    readonly getStateSnapshot: WarpCoreRuntimeSurface['getStateSnapshot'];
    readonly getNodes: WarpCoreRuntimeSurface['getNodes'];
    readonly getEdges: WarpCoreRuntimeSurface['getEdges'];
    readonly getPropertyCount: WarpCoreRuntimeSurface['getPropertyCount'];
    readonly query: WarpCoreRuntimeSurface['query'];
    readonly worldline: WarpCoreRuntimeSurface['worldline'];
    readonly observer: WarpCoreRuntimeSurface['observer'];
    readonly translationCost: WarpCoreRuntimeSurface['translationCost'];
    /**
     * Returns the content blob OID attached to a node.
     */
    readonly getContentOid: WarpCoreRuntimeSurface['getContentOid'];
    /**
     * Returns metadata for the content blob attached to a node.
     */
    readonly getContentMeta: WarpCoreRuntimeSurface['getContentMeta'];
    /**
     * Returns the decoded content payload attached to a node.
     */
    readonly getContent: WarpCoreRuntimeSurface['getContent'];
    /**
     * Returns the content blob OID attached to an edge.
     */
    readonly getEdgeContentOid: WarpCoreRuntimeSurface['getEdgeContentOid'];
    /**
     * Returns metadata for the content blob attached to an edge.
     */
    readonly getEdgeContentMeta: WarpCoreRuntimeSurface['getEdgeContentMeta'];
    /**
     * Returns the decoded content payload attached to an edge.
     */
    readonly getEdgeContent: WarpCoreRuntimeSurface['getEdgeContent'];
    /**
     * Opens a stream for the content blob attached to a node.
     */
    readonly getContentStream: WarpCoreRuntimeSurface['getContentStream'];
    /**
     * Opens a stream for the content blob attached to an edge.
     */
    readonly getEdgeContentStream: WarpCoreRuntimeSurface['getEdgeContentStream'];
    readonly createPatch: WarpCoreRuntimeSurface['createPatch'];
    readonly patch: WarpCoreRuntimeSurface['patch'];
    readonly patchMany: WarpCoreRuntimeSurface['patchMany'];
    readonly getWriterPatches: WarpCoreRuntimeSurface['getWriterPatches'];
    readonly writer: WarpCoreRuntimeSurface['writer'];
    readonly discoverWriters: WarpCoreRuntimeSurface['discoverWriters'];
    readonly discoverTicks: WarpCoreRuntimeSurface['discoverTicks'];
    readonly join: WarpCoreRuntimeSurface['join'];
    /** @deprecated For application reads, use openWarpWorldline().live(), seek(), or observer reads. */
    readonly materialize: WarpCoreRuntimeSurface['materialize'];
    /** @deprecated For application coordinate reads, use worldline seek/read handles. */
    readonly materializeCoordinate: WarpCoreRuntimeSurface['materializeCoordinate'];
    /** @deprecated For application checkpoint reads, use historical worldline reads. */
    readonly materializeAt: WarpCoreRuntimeSurface['materializeAt'];
    /** Diagnostic/substrate index verification; not an application read path. */
    readonly verifyIndex: WarpCoreRuntimeSurface['verifyIndex'];
    /** Diagnostic/substrate cache invalidation; not an application read path. */
    readonly invalidateIndex: WarpCoreRuntimeSurface['invalidateIndex'];
    readonly getFrontier: WarpCoreRuntimeSurface['getFrontier'];
    readonly hasFrontierChanged: WarpCoreRuntimeSurface['hasFrontierChanged'];
    readonly status: WarpCoreRuntimeSurface['status'];
    readonly createSyncRequest: WarpCoreRuntimeSurface['createSyncRequest'];
    readonly processSyncRequest: WarpCoreRuntimeSurface['processSyncRequest'];
    readonly applySyncResponse: WarpCoreRuntimeSurface['applySyncResponse'];
    readonly syncNeeded: WarpCoreRuntimeSurface['syncNeeded'];
    readonly syncWith: WarpCoreRuntimeSurface['syncWith'];
    readonly serve: WarpCoreRuntimeSurface['serve'];
    readonly createStrand: WarpCoreRuntimeSurface['createStrand'];
    readonly braidStrand: WarpCoreRuntimeSurface['braidStrand'];
    readonly getStrand: WarpCoreRuntimeSurface['getStrand'];
    readonly listStrands: WarpCoreRuntimeSurface['listStrands'];
    readonly dropStrand: WarpCoreRuntimeSurface['dropStrand'];
    /** Diagnostic/speculative-lane snapshot inspection; not a first-use application read path. */
    readonly materializeStrand: WarpCoreRuntimeSurface['materializeStrand'];
    readonly getStrandPatches: WarpCoreRuntimeSurface['getStrandPatches'];
    readonly patchesForStrand: WarpCoreRuntimeSurface['patchesForStrand'];
    readonly createStrandPatch: WarpCoreRuntimeSurface['createStrandPatch'];
    readonly patchStrand: WarpCoreRuntimeSurface['patchStrand'];
    readonly queueStrandIntent: WarpCoreRuntimeSurface['queueStrandIntent'];
    readonly listStrandIntents: WarpCoreRuntimeSurface['listStrandIntents'];
    readonly tickStrand: WarpCoreRuntimeSurface['tickStrand'];
    readonly analyzeConflicts: WarpCoreRuntimeSurface['analyzeConflicts'];
    readonly createCheckpoint: WarpCoreRuntimeSurface['createCheckpoint'];
    readonly syncCoverage: WarpCoreRuntimeSurface['syncCoverage'];
    readonly maybeRunGC: WarpCoreRuntimeSurface['maybeRunGC'];
    readonly runGC: WarpCoreRuntimeSurface['runGC'];
    readonly getGCMetrics: WarpCoreRuntimeSurface['getGCMetrics'];
    readonly patchesFor: WarpCoreRuntimeSurface['patchesFor'];
    /** Diagnostic/provenance slice inspection; not a first-use application read path. */
    readonly materializeSlice: WarpCoreRuntimeSurface['materializeSlice'];
    readonly loadPatchBySha: WarpCoreRuntimeSurface['loadPatchBySha'];
    readonly buildPatchDivergence: WarpCoreRuntimeSurface['buildPatchDivergence'];
    readonly compareStrand: WarpCoreRuntimeSurface['compareStrand'];
    readonly planStrandTransfer: WarpCoreRuntimeSurface['planStrandTransfer'];
    readonly compareCoordinates: WarpCoreRuntimeSurface['compareCoordinates'];
    readonly diff: WarpCoreRuntimeSurface['diff'];
    readonly planCoordinateTransfer: WarpCoreRuntimeSurface['planCoordinateTransfer'];
    readonly subscribe: WarpCoreRuntimeSurface['subscribe'];
    readonly watch: WarpCoreRuntimeSurface['watch'];
    readonly setSeekCache: WarpCoreRuntimeSurface['setSeekCache'];
    readonly fork: WarpCoreRuntimeSurface['fork'];
    readonly createWormhole: WarpCoreRuntimeSurface['createWormhole'];
    _effectPipeline: EffectPipeline | null;
    readonly _crypto: CryptoPort;
    static open(options: WarpCoreOpenInput): Promise<WarpCore>;
    /**
     * Adopts an explicit structural core surface as a WarpCore instance.
     */
    static _adopt(surface: object | WarpCore): WarpCore;
    get effectPipeline(): EffectPipeline | null;
    set effectPipeline(pipeline: EffectPipeline | null);
    get effectEmissions(): ReadonlyArray<EffectEmission>;
    get deliveryObservations(): ReadonlyArray<DeliveryObservation>;
    get externalizationPolicy(): ExternalizationPolicy | null;
    set externalizationPolicy(newLens: ExternalizationPolicy);
}
