import { AbstractTestContextFixture, type TestContextFactory } from '@dereekb/util/test'; import { type FirebaseStorage } from '@dereekb/firebase'; import { type TestFirebaseStorageContext } from './storage'; /** * Interface describing the minimum shape of a Firebase Storage test instance. * * Provides access to both the raw {@link FirebaseStorage} reference and the * {@link TestFirebaseStorageContext} that includes testing-specific drivers. */ export interface TestFirebaseStorage { readonly storageContext: TestFirebaseStorageContext; readonly storage: FirebaseStorage; } /** * Test instance that wraps a {@link TestFirebaseStorageContext} and provides convenient * access to the underlying Firebase Storage reference. * * The context includes a test-specific default bucket name to isolate storage operations * between test runs. */ export declare class TestFirebaseStorageInstance implements TestFirebaseStorage { readonly storageContext: TestFirebaseStorageContext; constructor(storageContext: TestFirebaseStorageContext); get storage(): FirebaseStorage; } /** * Test fixture that manages the lifecycle of a {@link TestFirebaseStorageInstance}. * * Extends {@link AbstractTestContextFixture} to handle setup/teardown of the Firebase Storage * test environment, including isolated bucket naming. */ export declare class TestFirebaseStorageContextFixture extends AbstractTestContextFixture { get storage(): FirebaseStorage; get storageContext(): TestFirebaseStorageContext; } /** * Factory type for creating {@link TestFirebaseStorageContextFixture} instances in test suites. */ export type TestFirebaseStorageContextFactory = TestContextFactory; /** * @deprecated Use TestFirebaseStorageContextFactory instead. */ export type JestTestFirebaseStorageContextFactory = TestFirebaseStorageContextFactory;