import type { SublayerExtension, SublayerExtensionProperties, SublayerProperties } from "../_SublayerExtension.js";
/**
 * Creates new instances of
 * {@link mapping/support/SublayerExtensionFactory!SublayerExtensionFactory}.
 */
export interface SublayerExtensionFactory {
    /**
     * Creates a {@link mapping/_SublayerExtension!SublayerExtension} from the
     * given properties.
     *
     * @param properties The SublayerExtension properties.
     * @param defaultSublayerType Optionally specify the sublayerType to be
     *   created. (i.e. we are creating a child sublayer from a parent).
     */
    create(properties: SublayerExtensionProperties, defaultSublayerType?: SublayerProperties["$sublayerType"]): SublayerExtension;
}
