import type { AgentSessionInternalSurface as AgentSession } from "./agent-session-methods.ts";
import type { ExtensionBindings } from "./agent-session-types.ts";
import type { ExtensionRunner } from "./extensions/index.ts";
export declare function bindExtensions(this: AgentSession, bindings: ExtensionBindings): Promise<void>;
export declare function extendResourcesFromExtensions(this: AgentSession, reason: "startup" | "reload"): Promise<void>;
export declare function buildExtensionResourcePaths(this: AgentSession, entries: Array<{
    path: string;
    extensionPath: string;
}>): Array<{
    path: string;
    metadata: {
        source: string;
        scope: "temporary";
        origin: "top-level";
        baseDir?: string;
    };
}>;
export declare function getExtensionSourceLabel(this: AgentSession, extensionPath: string): string;
export declare function _applyExtensionBindings(this: AgentSession, runner: ExtensionRunner): void;
export declare function refreshCurrentModelFromRegistry(this: AgentSession): void;
export declare function _refreshCurrentModelFromRegistry(this: AgentSession): void;
export declare function _bindExtensionCore(this: AgentSession, runner: ExtensionRunner): void;
export declare function reload(this: AgentSession, options?: {
    reason?: "startup" | "reload";
}): Promise<void>;
/**
 * Check if an error is retryable (overloaded, rate limit, server errors).
 * Context overflow errors are NOT retryable (handled by compaction instead).
 */
export declare const agentSessionExtensionBindingsMethods: {
    bindExtensions: typeof bindExtensions;
    extendResourcesFromExtensions: typeof extendResourcesFromExtensions;
    buildExtensionResourcePaths: typeof buildExtensionResourcePaths;
    getExtensionSourceLabel: typeof getExtensionSourceLabel;
    _applyExtensionBindings: typeof _applyExtensionBindings;
    refreshCurrentModelFromRegistry: typeof refreshCurrentModelFromRegistry;
    _refreshCurrentModelFromRegistry: typeof _refreshCurrentModelFromRegistry;
    _bindExtensionCore: typeof _bindExtensionCore;
    reload: typeof reload;
};
//# sourceMappingURL=agent-session-extension-bindings.d.ts.map