import type { FnMap } from '@astrale-os/kernel-client'; import type { BoundClientSessionView } from '@astrale-os/kernel-client/session'; import type { UnresolvedIdentityExpr } from '@astrale-os/kernel-core'; import type { RemoteIdentityConfig } from './identity.js'; export type FunctionCredentialOptions = { /** Credential audience. Defaults to the current/default kernel URL when known. */ audience?: string; /** Grant carried by the top-level kernel bearer. Defaults to self. */ grant?: UnresolvedIdentityExpr; /** JWT lifetime, jose-style. Default is the SDK per-request kernel TTL. */ ttl?: string; }; export type FunctionKernelOptions = FunctionCredentialOptions & { /** Kernel URL to dial. Defaults to `audience`, then the current/default kernel URL. */ url?: string; /** Next-hop delegation for remote redirects. Defaults to the credential grant. */ delegation?: UnresolvedIdentityExpr; }; export type FunctionContextApi = { readonly ref: string; credential(opts?: FunctionCredentialOptions): Promise; kernel(opts?: FunctionKernelOptions): Promise>; }; export declare function makeFunctionContext(identity: RemoteIdentityConfig, deps: unknown, opts: { ref: string; defaultKernelUrl?: string; }): FunctionContextApi; //# sourceMappingURL=function-context.d.ts.map