import type { Config } from '../../config/schema.js'; import type { DmPolicy } from '../channel-domain.js'; import type { PairingCliChannel } from './pairing-channel.js'; export { type PairingPendingView } from './pairing-types.js'; import type { PairingPendingView } from './pairing-types.js'; export type ChannelPairingState = { channel: PairingCliChannel; accountId: string; dmPolicy: DmPolicy; pending: PairingPendingView[]; paired: { fromConfig: string[]; fromCredentials: string[]; }; }; export type PairingPaths = { pairingPath: string; allowPath: string; }; export type PairingChannelConfigResolver = { resolvePaths?: (accountId: string) => PairingPaths; resolveAllowFromConfig?: (config: Config | undefined, channel: PairingCliChannel, accountId: string) => string[]; resolveChannelEnabled?: (config: Config | undefined, channel: PairingCliChannel) => boolean; resolveAccountEnabled?: (config: Config | undefined, channel: PairingCliChannel, accountId: string) => boolean; resolveDmPolicy?: (config: Config | undefined, channel: PairingCliChannel, accountId: string) => DmPolicy; resolveAccountIds?: (config: Config | undefined, channel: PairingCliChannel) => string[]; }; export declare function registerPairingChannelResolver(channel: PairingCliChannel, resolver: PairingChannelConfigResolver): void; export type ChannelPairingSummaryEntry = { pending: number; stale: number; atCapacity: boolean; }; export type ChannelPairingSummary = Record; export type PairingPendingIssue = { channel: PairingCliChannel; accountId: string; pending: number; stale: number; atCapacity: boolean; }; export declare function listChannelPairingSummary(config?: Config): ChannelPairingSummary; export declare function collectPairingPendingIssues(config?: Config): PairingPendingIssue[]; export declare function listChannelPairingState(params: { channel: PairingCliChannel; accountId?: string; config?: Config; }): ChannelPairingState; export declare function approveChannelPairing(params: { channel: PairingCliChannel; accountId?: string; code: string; }): { ok: true; senderId: string; alreadyPaired: boolean; } | { ok: false; error: string; }; export declare function approveChannelPairingBySender(params: { channel: PairingCliChannel; accountId?: string; senderId: string; }): { ok: true; senderId: string; alreadyPaired: boolean; } | { ok: false; error: string; }; export declare function revokeChannelPairingPaired(params: { channel: PairingCliChannel; accountId?: string; senderId: string; }): { ok: true; changed: boolean; } | { ok: false; error: string; }; export declare function dismissChannelPairingPending(params: { channel: PairingCliChannel; accountId?: string; senderId: string; }): { ok: true; senderId: string; } | { ok: false; error: string; };