Interface for an action reference (a function with no arguments). Provides methods to call, get, set, and inject code before or after the stored function.

interface ActionRef {
    append(fn: () => void): void;
    call(): void;
    get(): () => void;
    prepend(fn: () => void): void;
    set(fn: () => void): void;
}

Methods