import type { RequestContext } from '@mastra/core/request-context'; import type { GithubPatKind } from './pat.js'; type GithubTokenInjector = (token: string) => void; type GithubTokenInjectorResolver = () => GithubTokenInjector; /** The authorized GitHub repository behind the request's Factory session. */ export interface GithubRefreshTarget { orgId: string; repositoryId: string; /** * Mints the token `GH_TOKEN` carries the same way the sandbox boot did (one * credential for every environment repository when the provider can, else * the session repository's, with the agent told through the environment * signal). Absent for a single-repository session, which re-mints its own. */ mint?: () => Promise; } /** Recorded by the workspace resolver once it has authorized a GitHub-backed * session, before the sandbox starts, so the refresh tool is offered only to * sessions it can serve. */ export declare function registerGithubRefreshTarget(requestContext: RequestContext, target: GithubRefreshTarget): void; export declare function getGithubRefreshTarget(requestContext: RequestContext): GithubRefreshTarget | undefined; export declare function registerGithubTokenInjector(requestContext: RequestContext, injector: GithubTokenInjector): void; export declare function registerGithubTokenInjectorResolver(requestContext: RequestContext, resolver: GithubTokenInjectorResolver): void; /** Record which PAT kind the active sandbox was provisioned with, so token * refresh re-injects the same credential (review-board sandboxes keep the * reviewer token instead of being clobbered with the worker token). */ export declare function registerGithubPatKind(requestContext: RequestContext, kind: GithubPatKind): void; export declare function getRegisteredGithubPatKind(requestContext: RequestContext): GithubPatKind; export declare function requireGithubTokenInjector(requestContext: RequestContext): GithubTokenInjector; export {}; //# sourceMappingURL=token-refresh.d.ts.map