import type { StylePropertySpecification } from './style-spec';
import type { StyleSpecification, SourceSpecification, LayerSpecification, PropertyValueSpecification, DataDrivenPropertyValueSpecification } from './types';
export declare function eachSource(style: StyleSpecification, callback: (_: SourceSpecification) => void): void;
export declare function eachLayer(style: StyleSpecification, callback: (_: LayerSpecification) => void): void;
declare type PropertyCallback = (a: {
    path: [string, 'paint' | 'layout', string];
    key: string;
    value: PropertyValueSpecification<unknown> | DataDrivenPropertyValueSpecification<unknown>;
    reference: StylePropertySpecification;
    set: (a: PropertyValueSpecification<unknown> | DataDrivenPropertyValueSpecification<unknown>) => void;
}) => void;
export declare function eachProperty(style: StyleSpecification, options: {
    paint?: boolean;
    layout?: boolean;
}, callback: PropertyCallback): void;
export {};
//# sourceMappingURL=visit.d.ts.map