import { JSONPathEnvironment } from "../environment";
import { LogicalExpression } from "../expression";
import { JSONPathNode } from "../node";
import { JSONPathSelector } from "../selectors";
import { Token } from "../token";
import { type SerializationOptions } from "../types";
export declare class KeySelector extends JSONPathSelector {
    readonly environment: JSONPathEnvironment;
    readonly token: Token;
    readonly key: string;
    constructor(environment: JSONPathEnvironment, token: Token, key: string);
    resolve(node: JSONPathNode): JSONPathNode[];
    lazyResolve(node: JSONPathNode): Generator<JSONPathNode>;
    toString(options?: SerializationOptions): string;
}
/**
 * Object property name selector or array index selector.
 */
export declare class KeysSelector extends JSONPathSelector {
    readonly environment: JSONPathEnvironment;
    readonly token: Token;
    constructor(environment: JSONPathEnvironment, token: Token);
    resolve(node: JSONPathNode): JSONPathNode[];
    lazyResolve(node: JSONPathNode): Generator<JSONPathNode>;
    toString(): string;
}
export declare class KeysFilterSelector extends JSONPathSelector {
    readonly environment: JSONPathEnvironment;
    readonly token: Token;
    readonly expression: LogicalExpression;
    constructor(environment: JSONPathEnvironment, token: Token, expression: LogicalExpression);
    resolve(node: JSONPathNode): JSONPathNode[];
    lazyResolve(node: JSONPathNode): Generator<JSONPathNode>;
    toString(options?: SerializationOptions): string;
}
