import { Signal } from './signals.js'; declare global { namespace ODX.Breakpoints { interface Config { sm: true; md: true; lg: true; xl: true; xxl: true; } } } type FilteredKeys = { [K in keyof T as T[K] extends true ? K : never]: T[K]; }; export type BreakpointOperator = '<' | '<=' | '>=' | '>'; export interface BreakpointConfig { name: keyof FilteredKeys; min: number; max: number; customQuery?: string; } export interface Breakpoint extends BreakpointConfig { id: BreakpointConfig['name'] | `${BreakpointOperator}${BreakpointConfig['name']}`; query: string; operator?: BreakpointOperator; } export declare const registeredBreakpoints: ReadonlyMap; export declare const breakpointAttribute = "odx-breakpoint"; export declare const defaultBreakpoints: [{ readonly name: "sm"; readonly min: 0; readonly max: 479.98; }, { readonly name: "md"; readonly min: 480; readonly max: 768.98; }, { readonly name: "lg"; readonly min: 769; readonly max: 990.98; }, { readonly name: "xl"; readonly min: 991; readonly max: 1280.98; }, { readonly name: "xxl"; readonly min: 1352; readonly max: number; }]; export declare function buildBreakpoint(breakpoint: BreakpointConfig, operator?: BreakpointOperator): Breakpoint; export declare function expandBreakpoints(...breakpoints: BreakpointConfig[]): Breakpoint[]; export declare function observeBreakpoint(id: Breakpoint['id'], initialValue?: boolean): Signal; export declare function setupBreakpoints(breakpointsConfig?: BreakpointConfig[]): () => void; export declare function createBreakpointUpdater(breakpoints: Breakpoint[], update?: (target: HTMLElement, change: Breakpoint & { matches: boolean; }) => void): () => void; export {}; //# sourceMappingURL=breakpoints.d.ts.map