/**
 * EdgeAdd — adds a directed edge to the graph with a causal dot.
 */
import { Dot } from '../../crdt/Dot.ts';
import Op from './Op.ts';
import { type EventId } from '../../utils/EventId.ts';
import type WarpState from '../../services/state/WarpState.ts';
import type OpOutcomeResult from './OpOutcomeResult.ts';
import type { MutablePatchDiff } from '../PatchDiff.ts';
import type { SnapshotBeforeOp } from './SnapshotBeforeOp.ts';
export default class EdgeAdd extends Op<'EdgeAdd'> {
    readonly receiptName: "EdgeAdd";
    readonly from: string;
    readonly to: string;
    readonly label: string;
    readonly dot: Dot;
    constructor({ from, to, label, dot }: {
        from: string;
        to: string;
        label: string;
        dot: Dot;
    });
    validate(): void;
    mutate(state: WarpState, eventId: EventId): void;
    outcome(state: WarpState): OpOutcomeResult;
    snapshot(state: WarpState): SnapshotBeforeOp;
    accumulate(diff: MutablePatchDiff, state: WarpState, before: SnapshotBeforeOp): void;
}
