export function createUrlFlowHooks(options) {
    return {
        onModelChosen: null,
        onExtracted: null,
        onSlidesExtracted: null,
        onSlidesProgress: null,
        onSlidesDone: null,
        onSlideChunk: undefined,
        onLinkPreviewProgress: null,
        onSummaryCached: null,
        ...options.events,
        ...options.runtime,
    };
}
export function composeUrlFlowHooks(base, overrides) {
    return {
        ...base,
        ...overrides,
    };
}
export function createUrlFlowContext(options) {
    const { io, flags, model, cache, mediaCache, perfTrace, runtimeHooks, eventHooks } = options;
    return {
        io,
        flags,
        model,
        cache,
        mediaCache,
        perfTrace: perfTrace ?? null,
        hooks: createUrlFlowHooks({ runtime: runtimeHooks, events: eventHooks }),
    };
}
//# sourceMappingURL=types.js.map