import { CreateLayerActions, Nullable, LineLayerStyle } from '../../types'; import { MaybeRef } from 'vue'; import { Map, SourceSpecification, FilterSpecification, LineLayerSpecification, StyleSetterOptions } from 'maplibre-gl'; type Layer = LineLayerSpecification; interface CreateLineLayerProps { map: MaybeRef>; source: MaybeRef; id?: string; beforeId?: string; filter?: FilterSpecification; style?: LineLayerStyle; maxzoom?: number; minzoom?: number; metadata?: object; sourceLayer?: string; debug?: boolean; register?: (actions: CreateLayerActions, map: Map) => void; } interface LineLayerActions extends CreateLayerActions { setStyle: (styleVal?: LineLayerStyle) => void; setOpacity: (opacity: number, options?: StyleSetterOptions) => void; setColor: (color: string, options?: StyleSetterOptions) => void; setWidth: (width: number | string, options?: StyleSetterOptions) => void; setGapWidth: (gapWidth: number, options?: StyleSetterOptions) => void; setOffset: (offset: number, options?: StyleSetterOptions) => void; setBlur: (blur: number, options?: StyleSetterOptions) => void; setDashArray: (dashArray: number[], options?: StyleSetterOptions) => void; setPattern: (pattern: string, options?: StyleSetterOptions) => void; setGradient: (gradient: string, options?: StyleSetterOptions) => void; setCap: (cap: 'butt' | 'round' | 'square', options?: StyleSetterOptions) => void; setJoin: (join: 'bevel' | 'round' | 'miter', options?: StyleSetterOptions) => void; setVisibility: (visibility: 'visible' | 'none', options?: StyleSetterOptions) => void; setSortKey: (sortKey: number, options?: StyleSetterOptions) => void; } export declare function useCreateLineLayer(props: CreateLineLayerProps): LineLayerActions; export {};