import type { UmbTrashableEntityWorkspaceContext } from './types.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import type { UmbGuardRule, UmbReadOnlyGuardManager } from '../../utils/index.js'; import type { UmbNameWriteGuardManager } from '../../workspace/index.js'; declare const UmbTestRecycleBinControllerHostElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor & { new (): HTMLElement; prototype: HTMLElement; }; export declare class UmbTestRecycleBinControllerHostElement extends UmbTestRecycleBinControllerHostElement_base { } export interface UmbTestGuardRuleCall { action: 'add' | 'remove'; unique: string; permitted?: boolean; } /** * A minimal, hand-written `UmbTrashableEntityWorkspaceContext` — stands in for a real document/media workspace * context in isolated tests, recording the calls the recycle-bin context makes against it. */ export declare class UmbTestTrashableEntityWorkspaceContext implements UmbTrashableEntityWorkspaceContext { #private; readonly workspaceAlias = "Umb.Test.Workspace"; readonly unique: import("rxjs").Observable; readonly isTrashed: import("rxjs").Observable; readonly isNew: import("rxjs").Observable; readonly navigationParentItemPath: import("rxjs").Observable; modalContext: unknown; readonly readOnlyGuardRuleCalls: Array; readonly readOnlyGuard: UmbReadOnlyGuardManager; readonly nameWriteGuardRuleCalls: Array; readonly nameWriteGuard: UmbNameWriteGuardManager; reloadCallCount: number; resetDataCallCount: number; constructor(host: UmbControllerHost); getHostElement(): Element; getUnique(): string | null; getEntityType(): string; setUnique(unique: string | null): void; setEntityType(entityType: string): void; setIsTrashed(value: boolean | undefined): void; setIsNew(value: boolean | undefined): void; setNavigationParentItemPath(path: string | undefined): void; resetData(): void; reload(): Promise; destroy(): void; } /** * Monkey-patches `window.history.pushState`/`replaceState` to record calls instead of navigating — this project * does not use sinon, so history calls are asserted against plain recorded-call arrays. Call `restore()` in * `afterEach`. * @returns {object} The recorded call arrays, and a `restore()` function to undo the monkey-patch. */ export declare function stubHistory(): { pushStateCalls: { url: string; }[]; replaceStateCalls: { url: string; }[]; restore: () => void; }; export {};