import { ASTBase } from 'miniscript-core';
export type ScraperMap = Record<string, (item: any, level: number) => void>;
export interface ScraperState {
    exit: boolean;
    skip: boolean;
}
export type ScraperCallback = (item: any, level: number) => Partial<ScraperState> | null;
export declare class ScraperWalker {
    map: ScraperMap;
    callback: ScraperCallback;
    state: ScraperState;
    constructor(callback: ScraperCallback, customMap?: ScraperMap);
    visit(o: ASTBase, level?: number): void;
}
type ScraperValidateEx = (item: any, level: number) => (Partial<ScraperState> & {
    valid?: boolean;
}) | void;
export declare function findEx(validate: ScraperValidateEx, rootItem: ASTBase): ASTBase[];
export {};
