import * as i0 from '@angular/core'; import { AfterViewInit, OnChanges, OnDestroy, ElementRef, EventEmitter, SimpleChanges, AfterContentInit, TemplateRef, OnInit, InjectionToken } from '@angular/core'; import { YMap, YMapProps, YMapEntity, YMapFeatureProps, YMapFeature, YMapFeatureDataSourceProps, YMapFeatureDataSource, YMapListenerProps, YMapListener, YMapMarkerProps, YMapMarker as YMapMarker$1, YMapControlButton, YMapControls, YMapControlsProps, YMapScaleControlProps, YMapScaleControl, YMapDefaultFeaturesLayerProps, YMapDefaultFeaturesLayer, YMapDefaultSchemeLayerProps, YMapDefaultSchemeLayer, YMapLayerProps, YMapLayer } from '@yandex/ymaps3-types'; import { BehaviorSubject, Observable } from 'rxjs'; import { LngLat } from '@yandex/ymaps3-types/common/types'; import { Feature, YMapClustererProps, YMapClusterer } from '@yandex/ymaps3-types/packages/clusterer'; import { YMapDefaultMarkerProps, YMapDefaultMarker } from '@yandex/ymaps3-types/packages/markers'; import { YMapHint } from '@yandex/ymaps3-types/packages/hint'; import { YMapFeature as YMapFeature$1, YMapMarker, YMapHotspot } from '@yandex/ymaps3-types/imperative'; import { YMapControlProps, YMapControl, YMapControlCommonButtonProps, YMapControlCommonButton } from '@yandex/ymaps3-types/imperative/YMapControl'; import { GenericRootEntity, GenericEntity } from '@yandex/ymaps3-types/imperative/Entities'; import { YMapGeolocationControlProps, YMapGeolocationControl, YMapZoomControlProps, YMapZoomControl } from '@yandex/ymaps3-types/packages/controls'; import { YMapOpenMapsButtonProps, YMapOpenMapsButton } from '@yandex/ymaps3-types/modules/controls-extra'; /** * A component `(ready)` output event. */ interface YReadyEvent { /** * Instance of a created entity. * For example, the result of calling `new ymaps3.YMap()`. */ entity: T; /** * The API global object. * It's already in `window.ymaps3`, but you can also access it from this event. */ ymaps3: typeof ymaps3; } /** * This component wraps the [ymaps3.YMap](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymap) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * ``` */ declare class YMapComponent implements AfterViewInit, OnChanges, OnDestroy { private readonly yaApiLoaderService; private readonly ngZone; readonly container: ElementRef; private readonly destroy$; map$: BehaviorSubject; /** * See the API entity documentation for detailed information. Supports updates. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapProps} */ props: YMapProps; /** * See the API entity documentation for detailed information. */ children?: YMapEntity[]; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private createMap; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * See https://github.com/piotrwitek/utility-types/blob/2491e464b9adfa88ff9f799e4fd151aa25b71249/src/mapped-types.ts#L567 * @internal */ type Optional = Omit & Partial>; /** * This component wraps the [ymaps3.YMapClusterer](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/clusterer/#class-ymapclusterer) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * This component is from the `@yandex/ymaps3-clusterer@0.0.1` package, which is asynchronously loaded when you use this component. * * The Yandex.Maps class is quite challenging, so I recommend checking the official documentation. * The component encapsulates some logic, making the class easier to use. * It remains fully customizable, and you can replicate the entire code from the official example. * * The Yandex.Maps class accepts `cluster` and `marker` callbacks that should return HTML for the elements. * You can achieve the same behavior using this component in two ways: * * 1. Pass cluster and marker to props and write completely custom logic. This is the same process that the library handles internally. * 2. Use `` and ``, where the HTML from the templates is passed to `YMapMarker`. * * When using templates, you can access arguments from the callback through the `$implicit` variable. * * To define markers, you do not need to create the markers themselves; instead, you need to pass a `Feature[]`. * The official example creates an array of coordinates and maps it to the features array. * * The clustering method is `clusterByGrid({ gridSize: 64 })` by default, but you can override it and other options by passing them to `props`. * * ```html * * * * * * * * * * * * * * {{ context.features.length }} * * * * ``` */ declare class YMapClustererDirective implements AfterContentInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; markerTemplate?: TemplateRef<{ $implicit: Feature; }>; clusterTemplate?: TemplateRef<{ $implicit: { coordinates: LngLat; features: Feature[]; }; }>; private readonly destroy$; private clusterer?; /** * Read the component description and see the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/clusterer/#YMapClustererProps} */ props: Optional; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; private getTemplateElement; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapDefaultMarker](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/markers/#class-ymapdefaultmarker) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * This component is from the `@yandex/ymaps3-markers@0.0.1` package, which is asynchronously loaded when you use this component. * * ```html * * * * * * * ``` */ declare class YMapDefaultMarkerDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private marker?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/en/ref/packages/markers/#YMapDefaultMarkerProps} */ props: YMapDefaultMarkerProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapFeature](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymapfeature) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * * * * ``` */ declare class YMapFeatureDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private feature?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/en/ref/#YMapFeatureProps} */ props: YMapFeatureProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapFeatureDataSource](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapfeaturedatasource) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * ``` */ declare class YMapFeatureDataSourceDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private source?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapFeatureDataSourceProps} */ props: YMapFeatureDataSourceProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Typings do not export this type, but it's used in a YMapHint component. * For now, define it here. Maybe later they will export it. * @internal */ type YMapHintProps = { hint: (object: YMapFeature$1 | YMapMarker | YMapHotspot | undefined) => unknown; }; /** * This component wraps the [ymaps3.YMapHint](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/hint/#class-ymaphint) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * This component is from the `@yandex/ymaps3-hint@0.0.1` package, which is asynchronously loaded when you use this component. * * The API of this component is complicated, but it's very close to what the official React wrapper suggests. * We strongly recommend reading and understanding the [official React example](https://yandex.ru/dev/jsapi30/doc/ru/examples/cases/hints) for this component. * * In a nutshell, each entity (YMapFeature, YMapMarker, YMapHotspot) has a `properties` property, which is `Record`. * When you define these components, you can pass any metadata to this property, which you can later access using `YMapHintProps['hint']`. * When you pass a callback to `YMapHintProps['hint']`, you can read the `properties` property and return the hint based on the metadata. * What you return from `YMapHintProps['hint']` will be available in `` (it's set via $implicit, so you can use any name for let-*). * * ```html * * * * * * * * * *
* * {{ context?.hint }} *
*
*
* * *
* ``` */ declare class YMapHintDirective implements AfterContentInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapComponent; template?: TemplateRef; private readonly destroy$; private hint?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/hint/#YMapHintProps} */ props: YMapHintProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * To render a hint, a container is required. * This method isolates all the container creation logic and returns the entity. */ private createHintContainer; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapListener](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymaplistener) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * * * ``` */ declare class YMapListenerDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private listener?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/en/ref/#YMapListenerProps} */ props: YMapListenerProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapMarker](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymapmarker) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. `YMapMarker['element']` can only be projected, see the example below. * * ```html * * * * * * Bulldog * * * ``` */ declare class YMapMarkerDirective implements AfterViewInit, OnDestroy, OnChanges { private readonly ngZone; private readonly elementRef; private readonly yMapComponent; private readonly destroy$; private marker?; private element?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapMarkerProps} */ props: YMapMarkerProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrol) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * Custom HTML can only be projected, see the example below. * * ```html * * * * * *

Custom HTML

*
*
*
* ``` */ declare class YMapControlDirective implements AfterViewInit, OnChanges, OnDestroy { private readonly ngZone; private readonly elementRef; private readonly yMapControlsDirective; private readonly destroy$; private control?; private element?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapControlProps} */ props: YMapControlProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** * To render a control, a container is required. * This method isolates all the container creation logic and returns the entity. */ private createControlContainer; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Typings do not export this type, but it's used it in many places. * For now, define it here. Maybe later they will export it. * @internal */ interface ComplexOptions = GenericRootEntity> { children?: GenericEntity[]; container?: boolean; } /** * This component wraps the [ymaps3.YMapControlButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrolbutton) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * * ```html * * * * * * * * ``` */ declare class YMapControlButtonDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapControlCommonButtonProps} */ props: YMapControlCommonButtonProps; /** * See the API entity documentation for detailed information. */ options?: ComplexOptions; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapControlCommonButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrolcommonbutton) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * * ```html * * * * * * * * ``` */ declare class YMapControlCommonButtonDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * Button properties. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapControlCommonButtonProps} */ props: YMapControlCommonButtonProps; /** * See the API entity documentation for detailed information. */ options?: ComplexOptions; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapControls](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrols) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * * ... * * * ``` */ declare class YMapControlsDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; controls$: BehaviorSubject; /** * Controls properties. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapControlsProps} */ props: YMapControlsProps; /** * See the API entity documentation for detailed information. */ children?: YMapEntity[]; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapGeolocationControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#class-ymapgeolocationcontrol) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * This component is from the `@yandex/ymaps3-controls@0.0.1` package, which is asynchronously loaded when you use this component. * * ```html * * * * * * * * ``` */ declare class YMapGeolocationControlDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#YMapGeolocationControlProps} */ props: YMapGeolocationControlProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapOpenMapsButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/modules/controls-extra/#class-ymapopenmapsbutton) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * This component is from the `@yandex/ymaps3-controls-extra` module, which is asynchronously loaded when you use this component. * * ```html * * * * * * * * ``` */ declare class YMapOpenMapsButtonDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/modules/controls-extra/#YMapOpenMapsButtonProps} */ props: YMapOpenMapsButtonProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapScaleControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapscalecontrol) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * * ```html * * * * * * * * ``` */ declare class YMapScaleControlDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapScaleControlProps} */ props: YMapScaleControlProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapZoomControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#class-ymapzoomcontrol) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component. * This component is from the `@yandex/ymaps3-controls@0.0.1` package, which is asynchronously loaded when you use this component. * * ```html * * * * * * * * ``` */ declare class YMapZoomControlDirective implements OnInit, OnChanges, OnDestroy { private readonly ngZone; private readonly yMapControlsDirective; private readonly destroy$; private control?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#YMapZoomControlProps} */ props: YMapZoomControlProps; /** * See the API entity documentation for detailed information. */ options?: ComplexOptions; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapDefaultFeaturesLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapdefaultfeatureslayer) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * ``` */ declare class YMapDefaultFeaturesLayerDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private layer?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapDefaultFeaturesLayerProps} */ props: YMapDefaultFeaturesLayerProps; /** * See the API entity documentation for detailed information. */ options?: ComplexOptions; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapDefaultSchemeLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapdefaultschemelayer) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * ``` */ declare class YMapDefaultSchemeLayerDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private layer?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapDefaultSchemeLayerProps} */ props: YMapDefaultSchemeLayerProps; /** * See the API entity documentation for detailed information. */ options?: ComplexOptions; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * This component wraps the [ymaps3.YMapLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymaplayer) class from the Yandex.Maps API. * All component inputs are named the same as the API class constructor arguments. * * ```html * * * * * * ``` */ declare class YMapLayerDirective implements OnInit, OnDestroy, OnChanges { private readonly ngZone; private readonly yMapComponent; private readonly destroy$; private layer?; /** * See the API entity documentation for detailed information. Supports ngOnChanges. * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapLayerProps} */ props: YMapLayerProps; /** * The entity instance is created. This event runs outside an Angular zone. */ ready: EventEmitter>; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * The `YApiLoader` service handles loading of the Yandex.Maps API. * Use it if you do not need `YMapComponent`. * * The service supports dynamic configuration changes by subscribing on a `YConfig` observable. * It stores global API objects in a local cache, and updates them in runtime if necessary. * That's why do not provide this service, it will break the synchronizations between the local cache and HTML scripts. * * ```ts * import { YApiLoaderService } from 'angular-yandex-maps-v3'; * * @Component() * export class AppComponent { * constructor(private yApiLoaderService: YApiLoaderService) { * // Don't forget to unsubscribe * this.yApiLoaderService.load() * .subscribe(v => console.log(v)) * } * } * ``` */ declare class YApiLoaderService { private readonly document; private readonly ngZone; private readonly isBrowser; private readonly defaultConfig; private readonly config$; private readonly cache; constructor(); /** * Loads the Yandex.Maps API. * Runs outside an Angular zone. */ load(): Observable; private createScript; /** * Returns a script source from a config. * @param config parameters to add to a source * @example * // returns 'https://api-maps.yandex.ru/2.1/?apikey=658f67a2-fd77-42e9-b99e-2bd48c4ccad4&lang=en_US' * getScriptSource({ apikey: '658f67a2-fd77-42e9-b99e-2bd48c4ccad4', lang: 'en_US' }) */ private getScriptSource; /** * Converts a config into query string parameters. * @param config object to convert * @example * // returns "lang=ru_RU&apikey=XXX" * convertIntoQueryParams({ lang: 'ru_RU', apikey: 'XXX' }) */ private convertConfigIntoQueryParams; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * API loading parameters. * See https://yandex.ru/dev/jsapi30/doc/en/dg/concepts/load#params */ interface YConfig { /** * API key. */ apikey?: string; /** * Locale. */ lang?: 'ru_RU' | 'ru_UA' | 'uk_UA' | 'tr_TR' | 'en_RU' | 'en_US' | 'he_IL' | 'en_IL'; } /** * @internal */ declare const Y_CONFIG: InjectionToken>; /** * Provides a Y_CONFIG token with the given configuration. * * ```ts * import { provideYConfig, YConfig } from 'angular-yandex-maps-v3'; * * export const config: YConfig = { * apikey: 'X-X-X', * }; * * export const appConfig: ApplicationConfig = { * providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideYConfig(config)], * }; * ``` */ declare const provideYConfig: (config: YConfig | Observable) => i0.EnvironmentProviders; export { YApiLoaderService, YMapClustererDirective, YMapComponent, YMapControlButtonDirective, YMapControlCommonButtonDirective, YMapControlDirective, YMapControlsDirective, YMapDefaultFeaturesLayerDirective, YMapDefaultMarkerDirective, YMapDefaultSchemeLayerDirective, YMapFeatureDataSourceDirective, YMapFeatureDirective, YMapGeolocationControlDirective, YMapHintDirective, YMapLayerDirective, YMapListenerDirective, YMapMarkerDirective, YMapOpenMapsButtonDirective, YMapScaleControlDirective, YMapZoomControlDirective, Y_CONFIG, provideYConfig }; export type { YConfig, YReadyEvent };