import { Context, ReactNode } from "react"; import { ViewModelContextSymbol } from "./viewModel"; /** * Provider component to override a ViewModel instance. * Useful for testing - allows injecting a mock ViewModel. */ export declare function ProvideViewModel({ viewModel: ViewModelClass, value, children }: { viewModel: { [ViewModelContextSymbol]?: Context; }; value: T; children: ReactNode; }): ReactNode; /** * Represents a mock binding of a ViewModel class to an instance. */ export interface ViewModelMock { readonly _provide: (children: ReactNode) => ReactNode; } /** * Creates a mock binding for use with ProvideMockViewModels. */ export declare function mockViewModel(viewModelClass: { [ViewModelContextSymbol]?: Context; }, instance: T): ViewModelMock; /** * Provider component to override multiple ViewModel instances at once. * Useful for testing - allows injecting multiple mock ViewModels. * * @example * ```tsx * * * * ``` */ export declare function ProvideMockViewModels({ mocks, children }: { mocks: ViewModelMock[]; children: ReactNode; }): ReactNode; //# sourceMappingURL=ProvideViewModel.d.ts.map