/**
* Provides util functions to quicker setup of tests for the async package.
*/
///
import { TestModuleMetadata } from '@angular/core/testing';
import { GoogleMapsConfig } from '@bespunky/angular-google-maps/async';
import { IGoogleMapsTestingModuleConfigOptions as IGoogleMapsSyncTestingModuleConfigOptions } from '@bespunky/angular-google-maps/testing';
/**
* Creates a `TestModuleMetadeta` object that can be passed into `TestBed.configureTestingModule()` in order to
* import the `GoogleMapsModule` **from the @bespunky/angular-google-maps/async package**, and allow DI without actually downloading the API from google.
* This changes the default `GoogleMapsApiLoader` provider to the `NoOpGoogleMapsApiLoader`.
*
* @export
* @param [config] (Optional) The module configuration to use when creating the module. Default is `defaultTestApiConfig`
* @returns A TestBed-ready module configuration.
*/
export declare function createGoogleMapsTestModuleMetadata(config?: GoogleMapsConfig): TestModuleMetadata;
/**
* Provides the structure supported for options to pass into the `configureGoogleMapsTestingModule()` function.
*
* @export
* @interface GoogleMapsTestingModuleConfigOptions
* @template TComponent
*/
export interface IGoogleMapsTestingModuleConfigOptions extends IGoogleMapsSyncTestingModuleConfigOptions {
/** (Optional) Custom configuration for the Google Maps API. Ignored when `async` if `false`. */
moduleConfig?: GoogleMapsConfig;
}
/** The default dummy config to use when loading the `GoogleMapsModule` for testing. */
export declare const defaultTestApiConfig: GoogleMapsConfig;
/**
* Configures a basic testing module with common definitions for Google Maps components and extracts useful tools and services.
* This should allow faster setup without the redundancy of declarations and extractions of services.
* After calling this function, the caller can simply deconstruct the tools and use them.
*
* @example let { api, component } = createGoogleMapsTestingModule({ componentType: GoogleMapsComponent });
* @export
* @template TComponent The type of the component being tested (if there is a component).
* @param {IGoogleMapsTestingModuleConfigOptions} [options] (Optional) The options for the configuring the test module.
* @returns The created tools and services, ready to use.
*/
export declare function configureGoogleMapsTestingModule(options?: IGoogleMapsTestingModuleConfigOptions): Promise<{
fixture: import("@angular/core/testing").ComponentFixture;
component: TComponent;
debugElement: import("@angular/core").DebugElement;
element: import("@angular/core").ElementRef;
api: import("../../../../../../dist/bespunky/angular-google-maps/core/bespunky-angular-google-maps-core").GoogleMapsApiService;
componentApi: import("../../../../../../dist/bespunky/angular-google-maps/core/bespunky-angular-google-maps-core").GoogleMapsComponentApiService;
spies: {
runInsideAngular: jasmine.Spy;
runOutsideAngular: jasmine.Spy;
runInsideAngularWhenReady: jasmine.Spy;
runOutsideAngularWhenReady: jasmine.Spy;
};
}>;