/** * Constantes que definem os nomes dos breakpoints. */ export declare const BREAKPOINTS: { readonly X_SMALL: "x-small"; readonly SMALL: "small"; readonly MEDIUM: "medium"; readonly LARGE: "large"; readonly X_LARGE: "x-large"; }; /** * Tipo que representa os valores possíveis de breakpoint. */ export type Breakpoint = (typeof BREAKPOINTS)[keyof typeof BREAKPOINTS]; /** * Configurações específicas de um breakpoint. */ type BreakpointSettings = { name: Breakpoint; query: string; minWidth: number; maxWidth?: number; }; /** * Classe que observa mudanças nos breakpoints baseados em media queries. */ export declare class BreakpointObserver { private currentBreakpoint; private mediaQueries; private listeners; /** * Cria uma nova instância do observador e inicia a observação dos breakpoints. */ constructor(); /** * Inicializa os MediaQueryLists para cada breakpoint, adicionando listeners. */ private init; /** * Função chamada quando ocorre mudança em algum media query. * Atualiza o breakpoint atual e notifica os listeners se houver mudança. */ private handleChange; /** * Notifica todos os callbacks inscritos sobre a mudança do breakpoint atual. */ private notifyListeners; /** * Retorna o breakpoint atual detectado. * @returns {Breakpoint | null} Breakpoint atual ou null se não definido */ getCurrentBreakpoint(): Breakpoint | null; /** * Retorna as configurações completas de um breakpoint específico. * @param {Breakpoint} breakpoint - Breakpoint para consulta * @returns {BreakpointSettings | undefined} Configurações do breakpoint, ou undefined se não encontrado */ getBreakpointSettings(breakpoint: Breakpoint): BreakpointSettings | undefined; /** * Retorna a query CSS associada a um breakpoint. * @param {Breakpoint} breakpoint - Breakpoint para consulta * @returns {string | undefined} Query CSS, ou undefined se não encontrado */ getBreakpointQuery(breakpoint: Breakpoint): string | undefined; /** * Retorna uma lista com todos os breakpoints disponíveis. * @returns {Breakpoint[]} Array com todos os breakpoints */ getAllBreakpoints(): Breakpoint[]; /** * Retorna uma lista de breakpoints filtrada segundo o tipo e breakpoint base. * Tipos aceitos: * - 'above': todos acima do breakpoint informado * - 'below': todos abaixo do breakpoint informado * - 'from': breakpoint informado e todos acima * - 'until': breakpoint informado e todos abaixo * - 'only': somente o breakpoint informado * @param {'above' | 'below' | 'from' | 'until' | 'only'} type - Tipo de filtro * @param {Breakpoint} breakpoint - Breakpoint base para filtro * @returns {Breakpoint[]} Lista filtrada de breakpoints */ static getBreakpoints(type: 'above' | 'below' | 'from' | 'until' | 'only', breakpoint: Breakpoint): Breakpoint[]; /** * Adiciona um listener para receber notificações quando o breakpoint mudar. * O callback é chamado imediatamente com o breakpoint atual (se houver). * @param {(breakpoint: Breakpoint) => void} callback - Função para receber notificações */ subscribe(callback: (breakpoint: Breakpoint) => void): void; /** * Remove um listener previamente registrado. * @param {(breakpoint: Breakpoint) => void} callback - Função a ser removida */ unsubscribe(callback: (breakpoint: Breakpoint) => void): void; /** * Remove todos os listeners e para a observação dos media queries. */ destroy(): void; } export {};