import { type Type } from "./types.js"; export type FnRule = (args: Type[]) => Type; export declare const S: Type; export declare const I: Type; export declare const BIG: Type; export declare const D: Type; export declare const B: Type; export declare const DATE: Type; export declare const TS: Type; export declare const BIN: Type; export declare const INTERVAL: Type; export declare const fixed: (t: Type) => FnRule; export declare const firstArg: FnRule; export declare const common: FnRule; export declare const restCommon: FnRule; export declare const arrayOfFirst: FnRule; export declare const arrayOfCommon: FnRule; export declare const elementOf: FnRule; export declare const mapKeys: FnRule; export declare const mapValues: FnRule; export declare const concatRule: FnRule; /** date_add(unit, n, ts) / dateadd / timestampadd → the date/timestamp argument's type. */ export declare const dateArg: FnRule; export declare function group(rule: FnRule, names: string[]): Record;