/** Id reservado do item "Marcar todos". */ export declare const ALL_ID = "__all__"; export interface SelectionState { /** Ids dos itens na ordem de exibição (sem o "Marcar todos"). */ ids: string[]; checked: Record; } export declare function createSelection(ids: string[], initiallyChecked?: boolean): SelectionState; export declare function isAllChecked(state: SelectionState): boolean; /** * Alterna um item. Marcar/desmarcar "Marcar todos" liga/desliga todos os itens; alternar um item isolado * deixa "Marcar todos" marcado apenas quando todos estão marcados (o estado dele é derivado). */ export declare function toggleItem(state: SelectionState, id: string): SelectionState; export declare function selectedIds(state: SelectionState): string[]; export interface ParsedItemList { ids: string[]; unknown: string[]; } /** Aceita `a,b`, `['a','b']` ou `['a,b']` e separa os ids válidos dos desconhecidos. */ export declare function parseItemList(raw: string | string[] | undefined, valid: string[]): ParsedItemList;