export type ChannelMatchSource = "direct" | "parent" | "wildcard"; export type ChannelEntryMatch = { entry?: T; key?: string; wildcardEntry?: T; wildcardKey?: string; parentEntry?: T; parentKey?: string; matchKey?: string; matchSource?: ChannelMatchSource; }; export declare function applyChannelMatchMeta(result: TResult, match: ChannelEntryMatch): TResult; export declare function resolveChannelMatchConfig(match: ChannelEntryMatch, resolveEntry: (entry: TEntry) => TResult): TResult | null; export declare function normalizeChannelSlug(value: string): string; export declare function buildChannelKeyCandidates(...keys: Array): string[]; export declare function resolveChannelEntryMatch(params: { entries?: Record; keys: string[]; wildcardKey?: string; }): ChannelEntryMatch; export declare function resolveChannelEntryMatchWithFallback(params: { entries?: Record; keys: string[]; parentKeys?: string[]; wildcardKey?: string; normalizeKey?: (value: string) => string; }): ChannelEntryMatch; export declare function resolveNestedAllowlistDecision(params: { outerConfigured: boolean; outerMatched: boolean; innerConfigured: boolean; innerMatched: boolean; }): boolean;