import type { LTResolvedConfig, LTProviderData } from '../types';
declare class LTConfigCache {
    private configs;
    private loadedAt;
    private loadPromise;
    private ensureLoaded;
    private get;
    isInvocable(name: string): Promise<boolean>;
    getInvocationRoles(name: string): Promise<string[]>;
    getTargetEscalationRole(name: string): Promise<string>;
    getAllowedEscalationRoles(name: string): Promise<string[]>;
    getToolTags(name: string): Promise<string[]>;
    getProviders(name: string): Promise<string[]>;
    getProviderData(name: string, originId: string): Promise<LTProviderData>;
    /** Force cache reload on next access. Call after config mutations. */
    invalidate(): void;
    /**
     * Get the resolved config for a workflow, but only if certified.
     *
     * The interceptor uses this to decide whether to wrap the workflow
     * with task tracking, escalation handling, and re-run detection.
     * Configured-but-not-certified workflows (no roles, no consumes)
     * return null so the interceptor skips them.
     */
    getResolvedConfig(name: string): Promise<LTResolvedConfig | null>;
}
export declare const ltConfig: LTConfigCache;
export {};
