/**
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
///
import type { Marker } from './marker';
import type { StaticAttributes } from './marker-attributes';
/**
* Internal class that resolves all attributes based on dynamic and static
* values and makes them behave as if there were only static attributes.
*
* @typeParam TUserData - Can be used to specify a type for the data specified
* in {@link Marker.setData} and available in dynamic attribute callbacks.
* @internal
*/
export declare class ComputedMarkerAttributes {
private readonly marker_;
private callbackDepth_;
readonly position?: google.maps.LatLng;
readonly draggable?: StaticAttributes['draggable'];
readonly collisionBehavior?: StaticAttributes['collisionBehavior'];
readonly title?: StaticAttributes['title'];
readonly zIndex?: StaticAttributes['zIndex'];
readonly glyph?: StaticAttributes['glyph'];
readonly scale?: StaticAttributes['scale'];
readonly color?: StaticAttributes['color'];
readonly backgroundColor?: StaticAttributes['backgroundColor'];
readonly borderColor?: StaticAttributes['borderColor'];
readonly glyphColor?: StaticAttributes['glyphColor'];
readonly icon?: StaticAttributes['icon'];
readonly content?: StaticAttributes['content'];
readonly classList?: StaticAttributes['classList'];
constructor(marker: Marker);
/**
* Resolves the specified attribute into a static value, calling a dynamic
* attribute function.
*
* @param key
*/
private getComputedAttributeValue;
}