import type { ActionPriority } from '@asteby/metacore-sdk';
import type { InstalledAddonsValue } from './installed-addons-context';
export type { ActionPriority };
/** Lo mínimo que se lee de una acción de metadata para clasificarla. */
export interface PrioritizableAction {
key: string;
priority?: string;
trigger?: {
type?: string;
capability?: string;
} | null;
}
/** "primary" | "secondary" | undefined (= acción normal del menú). */
export declare function classifyActionPriority(action: PrioritizableAction): ActionPriority | undefined;
export interface SplitActions {
/** La única destacada (la primera que se declara `primary`). */
primary?: A;
/** El resto de acciones principales, en orden. */
main: A[];
/** Compartir / imprimir / correo / chat… */
secondary: A[];
}
/**
* Separa primaria, principales y secundarias conservando el orden. Si varias
* reclaman `primary`, sólo la primera lo es; las demás quedan como principales.
*/
export declare function splitActionsByPriority(actions: readonly A[]): SplitActions;
/**
* Una acción que despacha por capacidad (`trigger.type: "capability"`) sólo se
* ofrece si algún addon instalado la provee. Sin provider = desconocido → se
* muestra (el servidor revalida igual).
*/
export declare function isActionProviderActive(action: PrioritizableAction, installed: InstalledAddonsValue | null): boolean;
//# sourceMappingURL=action-priority.d.ts.map