import { TypeGuard, something } from "@opticss/util"; export interface AndExpression { and: Array>; } export interface OrExpression { or: Array>; } export interface NotExpression { not: V | BooleanExpression; } export declare type BooleanExpression = AndExpression | OrExpression | NotExpression; export declare function not(value: V | BooleanExpression): NotExpression; export declare function and(...values: Array>): AndExpression; export declare function or(...values: Array>): OrExpression; export declare function isBooleanExpression(expr: unknown): expr is BooleanExpression; export declare function isBooleanExpression(expr: unknown, typeGuard: TypeGuard): expr is BooleanExpression; export declare function isAndExpression(expr: Partial>): expr is AndExpression; export declare function isAndExpression(expr: Partial>, typeGuard: TypeGuard): expr is AndExpression; export declare function isOrExpression(expr: Partial>): expr is OrExpression; export declare function isOrExpression(expr: Partial>, typeGuard: TypeGuard): expr is OrExpression; export declare function isNotExpression(expr: Partial>): expr is NotExpression; export declare function isNotExpression(expr: Partial>, typeGuard: TypeGuard): expr is NotExpression; //# sourceMappingURL=BooleanExpression.d.ts.map