import { type WarpGraphDeps } from './WarpGraph.ts';
import WarpWorldlineCoordinate from './WarpWorldlineCoordinate.ts';
import WarpWorldlineOpticBasis from './WarpWorldlineOpticBasis.ts';
import type { Aperture } from './types/Aperture.ts';
import type { PatchBuilder } from './services/PatchBuilder.ts';
import type ProjectionHandle from './services/ProjectionHandle.ts';
import type Observer from './services/query/Observer.ts';
import type WorldlineOptic from './services/optic/WorldlineOptic.ts';
import createBoundedMemoryCapabilityReport from './memory/createBoundedMemoryCapabilityReport.ts';
export type WarpWorldlineOpenOptions = Omit<WarpGraphDeps, 'graphName'> & {
    readonly worldlineName: string;
    readonly graphName?: never;
};
export type WarpWorldlinePatchBuild = (patch: PatchBuilder) => void | Promise<void>;
type CommitPatch = (build: WarpWorldlinePatchBuild) => Promise<string>;
type WorldlineOptions = Parameters<ProjectionHandle['seek']>[0];
type CreateWorldline = (options?: WorldlineOptions) => ProjectionHandle;
type PrepareOpticBasis = () => Promise<WarpWorldlineOpticBasis>;
type GetFrontier = () => Promise<Map<string, string>>;
type ReadOpticBasis = () => WarpWorldlineOpticBasis | null;
type ReadCapabilities = typeof createBoundedMemoryCapabilityReport;
type WarpWorldlineConstructionOptions = {
    readonly worldlineName: string;
    readonly writerId: string;
    readonly commitPatch: CommitPatch;
    readonly createWorldline: CreateWorldline;
    readonly prepareOpticBasis?: PrepareOpticBasis;
    readonly getFrontier?: GetFrontier;
    readonly readOpticBasis?: ReadOpticBasis;
    readonly readCapabilities?: ReadCapabilities;
};
export default class WarpWorldline {
    readonly worldlineName: string;
    readonly writerId: string;
    private readonly _commitPatch;
    private readonly _createWorldline;
    private readonly _prepareOpticBasis;
    private readonly _getFrontier;
    private readonly _readOpticBasis;
    private readonly _readCapabilities;
    constructor(options: WarpWorldlineConstructionOptions);
    commit(build: WarpWorldlinePatchBuild): Promise<string>;
    live(): ProjectionHandle;
    seek(options?: WorldlineOptions): Promise<ProjectionHandle>;
    observer(config: Aperture): Promise<Observer>;
    observer(name: string, config: Aperture): Promise<Observer>;
    optic(): WorldlineOptic;
    capabilities(): ReturnType<ReadCapabilities>;
    prepareOpticBasis(): Promise<WarpWorldlineOpticBasis>;
    coordinate(): Promise<WarpWorldlineCoordinate>;
}
export declare function openWarpWorldline(options: WarpWorldlineOpenOptions): Promise<WarpWorldline>;
export {};
