import type { RepositoryContextPickerProps } from "../components/repository-picker.js"; import { useAppContext } from "../app-context.js"; import type { ResourceRef, Session } from "../types.js"; type RepositoryRefreshContext = Pick, "accessContext" | "captureWorkspaceInvocation" | "refreshGitHub" | "refreshPersonalGitHub" | "repoBusy" | "personalGitHubBusy">; /** Keep this above the lazily mounted menu so rapid reopenings share one cooldown. */ export declare function useRepositoryCatalogRefresh(workspaceId: string, context: RepositoryRefreshContext): { refreshAllowed: boolean; onOpenRefresh: () => Promise; onRefresh: () => Promise; }; /** * Session-scoped repository additions for the follow-up composer. Session * resources are additive, so accepted resources become locked while only the * not-yet-sent selection remains editable. */ export declare function useFollowUpRepositories(session: Session, /** Starts workspace App setup from a click; the caller hosts the dialog. */ onConnectWorkspaceApp: () => void): { pendingResources: ResourceRef[]; error: string | null; selectionCount: number; pickerProps: (disabled: boolean) => RepositoryContextPickerProps; commitSent: (resources: ResourceRef[]) => void; }; export {};