export declare function ensure(value: T | null | undefined): T; export interface ActionResult { update(params: T): void; destroy(): void; } export type Reference = (ref: T | null) => void; export interface ReferencableActionResult extends ActionResult

{ updateReference(nextReference?: Reference): void; } export type Action = (target: TTarget, params: TParams) => ActionResult;