import { SvamlCommand } from '../svaml-commands'; import { SvamlCommands } from './commands'; import type { CommandsSequenceCreator } from './command-sequence'; export type SequenceCallback = (sequence: CommandsSequenceCreator) => void; /** * Commands for a nested handler. * A callback fills a sequence. One command, such as `Calls.hangup`, is stored * as a one-element list. An array is stored as given. */ export type CommandInput = SequenceCallback | SvamlCommands; export declare function trackSequence(sequence: CommandsSequenceCreator, commands: SvamlCommand[]): void; export declare function collectCommands(build: SequenceCallback): SvamlCommand[]; export declare function resolveCommands(input: CommandInput): SvamlCommand[]; export declare function appendCommands(current: SvamlCommand[] | undefined, input: CommandInput): SvamlCommand[]; /** * A `gotoMenu` target must be an item of the menu that contains it. * `startMenu` must be one of that menu's item names. */ export declare function assertMenuReferences(commands: SvamlCommand[], menuNames: ReadonlySet | undefined): void;