import { type ClientId, type ClientState } from '@zhixuan92/multi-model-agent-core'; interface EffectiveClientRosterEntry { clientId: ClientId; declaredState: ClientState | null; detectedPresence: boolean; effectiveState: ClientState | 'suggested'; } /** Partial declared roster, keyed by ClientId -- mirrors the strict config's * optional `clients` block. */ export type DeclaredClientRoster = Partial>; /** * Resolves the effective roster for all eight canonical clients, in * CLIENT_IDS order. * * Algorithm: if `declared[clientId]` is `'on'` or `'off'`, that value wins. * Otherwise the effective state is `'suggested'` when the client is * detected, else `'off'`. A `'suggested'` result is reported only -- it must * never be provisioned or removed. */ export declare function resolveEffectiveRoster(declared: DeclaredClientRoster | undefined, detected: ReadonlySet): EffectiveClientRosterEntry[]; export {}; //# sourceMappingURL=roster.d.ts.map