import { FeatureNode, GeneralEnclosedNode, ParserError, QueryListNode } from "media-query-parser"; export type Kleene3 = "true" | "false" | "unknown"; export declare const not: (kleene3: Kleene3) => Kleene3; export declare const and: (...kleene3s: Kleene3[]) => Kleene3; export declare const or: (...kleene3s: Kleene3[]) => Kleene3; export type SolverConfig = { solveUnknownFeature: (node: FeatureNode) => Kleene3; solveGeneralEnclosed: (node: GeneralEnclosedNode) => Kleene3; isLegacyBrowser: Kleene3; isMediaTypeScreen: Kleene3; features: Map; } | { type: "range"; valueType: "length" | "integer" | "resolution"; canBeZero: boolean; canBeNegative: boolean; extraValues: Map; } | { type: "range"; valueType: "ratio"; canNumeratorBeZero: boolean; canDenominatorBeZero: boolean; extraValues: Map; }>; }; export type SolverConfigInput = Partial & { features: Record; } | { type: "range"; valueType: "length" | "integer" | "resolution"; canBeZero: boolean; canBeNegative: boolean; extraValues?: Record; } | { type: "range"; valueType: "ratio"; canNumeratorBeZero: boolean; canDenominatorBeZero: boolean; extraValues?: Record; }>; }>; export declare const DEFAULT_KNOWN_FEATURES: SolverConfigInput["features"]; export declare const createSolverConfig: (solverConfigInput?: SolverConfigInput | undefined) => SolverConfig; export declare const solveMediaQueryList: (mediaQueryList: string | QueryListNode | ParserError, configInput?: SolverConfigInput) => Kleene3; export declare const solveMediaQueryList_: (mediaQueryList: QueryListNode, config: SolverConfig) => Kleene3;