import { Matcher } from './Matcher'; export interface CaptureBase { [key: string]: any; } export declare class CapturedMatcher extends Matcher { private readonly matcher; private _current?; private _currentKeys?; constructor(matcher?: Matcher); get current(): C | undefined; get currentKeys(): ReadonlyArray | undefined; matchValue(value: unknown, keys: ReadonlyArray): value is M; protected capture(value: C, keys: ReadonlyArray): void; } export declare function capture(matcher?: Matcher): CapturedMatcher;