import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
/** Return value of {@link useDefaultAgent}. */
export interface UseDefaultAgentReturn {
    /** The platform default Agent, or `null` while loading or on error. */
    readonly agent: Agent | null;
    /** `true` while the initial fetch or a refetch is in flight. */
    readonly isLoading: boolean;
    /** `true` while a background refetch is in flight and stale data is shown. */
    readonly isRefetching: boolean;
    /** Error from the last failed request, or `null` when healthy. */
    readonly error: Error | null;
    /** Discard cached data and re-fetch the default agent from the server. */
    readonly refetch: () => void;
}
/**
 * Data hook that fetches the platform's default agent.
 *
 * The default agent is the one labeled `stigmer.ai/default-agent: "true"`
 * with `visibility_public`. It enables session-first UX where users
 * start a conversation without choosing an agent.
 *
 * Pass `null` for `org` to skip fetching (stable no-op). The hook
 * fetches once on mount and caches the result, then automatically
 * refetches when the document becomes visible after being hidden for
 * longer than {@link STALE_THRESHOLD_MS}. Transient failures are
 * retried once before surfacing an error.
 *
 * @example
 * ```tsx
 * const { agent: defaultAgent, isLoading } = useDefaultAgent("acme");
 *
 * // Use defaultAgent.status.defaultInstanceId for session creation
 * // when the user hasn't explicitly selected an agent.
 * ```
 */
export declare function useDefaultAgent(org: string | null): UseDefaultAgentReturn;
//# sourceMappingURL=useDefaultAgent.d.ts.map