import type { TypedExpressionContext, ExpressionCategory, EvaluationType, ExpressionMetadata, ValidationResult } from '../../../types/expression-types';
import type { EvaluationResult } from '../../../types/command-types';
import { BaseExpressionImpl } from '../../base-expression';
type PatternMatchInput = any;
type ContainsInput = any;
type InInput = any;
export declare class MatchesExpression extends BaseExpressionImpl<PatternMatchInput, boolean> {
    readonly name = "matches";
    readonly category: ExpressionCategory;
    readonly syntax = "value matches pattern";
    readonly description = "Pattern matching with CSS selectors and regular expressions";
    readonly inputSchema: import("../../../validation/lightweight-validators").RuntimeValidator<unknown>;
    readonly outputType: EvaluationType;
    readonly metadata: ExpressionMetadata;
    evaluate(context: TypedExpressionContext, input: PatternMatchInput): Promise<EvaluationResult<boolean>>;
    validate(input: unknown): ValidationResult;
    private matchCSSSelector;
    private isCSSSelector;
    private isValidCSSSelector;
}
export declare class ContainsExpression extends BaseExpressionImpl<ContainsInput, boolean> {
    readonly name = "contains";
    readonly category: ExpressionCategory;
    readonly syntax = "container contains item";
    readonly description = "Tests if a container (array, string, object) contains an item";
    readonly inputSchema: import("../../../validation/lightweight-validators").RuntimeValidator<unknown>;
    readonly outputType: EvaluationType;
    readonly metadata: ExpressionMetadata;
    evaluate(context: TypedExpressionContext, input: ContainsInput): Promise<EvaluationResult<boolean>>;
    validate(input: unknown): ValidationResult;
}
export declare class InExpression extends BaseExpressionImpl<InInput, boolean> {
    readonly name = "in";
    readonly category: ExpressionCategory;
    readonly syntax = "item in container";
    readonly description = "Tests if an item is in a container (reverse of contains)";
    readonly inputSchema: import("../../../validation/lightweight-validators").RuntimeValidator<unknown>;
    readonly outputType: EvaluationType;
    readonly metadata: ExpressionMetadata;
    evaluate(context: TypedExpressionContext, input: InInput): Promise<EvaluationResult<boolean>>;
    validate(input: unknown): ValidationResult;
}
export declare function createMatchesExpression(): MatchesExpression;
export declare function createContainsExpression(): ContainsExpression;
export declare function createInExpression(): InExpression;
export declare const enhancedPatternMatchingExpressions: {
    readonly matches: MatchesExpression;
    readonly contains: ContainsExpression;
    readonly in: InExpression;
};
export {};
//# sourceMappingURL=pattern-matching.d.ts.map