import type { And, AndKey } from "./And";
import type { Equals, EqualsKey } from "./Equals";
import type { Not, NotKey } from "./Not";
import type { Or, OrKey } from "./Or";
export * from "./Equals";
export * from "./And";
export * from "./Or";
export * from "./Not";
export { type Condition, isConditionValidation, isConditionFunctionValidation, } from "./common";
export declare const CONDITION_KEYS: readonly ["Fn::And", "Fn::Equals", "Fn::Not", "Fn::Or"];
export declare type ConditionByKey = {
    [K in AndKey]: And;
} & {
    [K in EqualsKey]: Equals;
} & {
    [K in NotKey]: Not;
} & {
    [K in OrKey]: Or;
};
export declare type ConditionKey = keyof ConditionByKey;
