import type { CodeObject } from './types'; import Priority from './priority'; import type { AppMap } from '@appland/models'; export type CodeObjectId = string; export interface SequenceDiagramOptions { exclude?: CodeObjectId[]; expand?: CodeObjectId[]; priority?: Record; require?: CodeObjectId[]; loops?: boolean; } export default class Specification { private priority; private includedCodeObjectIds; private requiredCodeObjectIds; loops: boolean; private static readonly DefaultActorTypes; constructor(priority: Priority, includedCodeObjectIds: Set, requiredCodeObjectIds: Set); get hasRequiredCodeObjects(): boolean; priorityOf(codeObject: CodeObject): number; isIncludedCodeObject(codeObject: CodeObject): CodeObject | undefined; isRequiredCodeObject(codeObject: CodeObject): CodeObject | undefined; static build(appmap: AppMap, options: SequenceDiagramOptions): Specification; protected static matchCodeObject(codeObjectIds: Set, codeObject: CodeObject): CodeObject | undefined; }