/** * @license * Copyright 2026 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { BasePlugin } from '../plugins/base_plugin.js'; import { RunnableRoot } from '../workflow/run_node_as_invocation.js'; import { ResumabilityConfig } from './resumability_config.js'; /** * Ensures the provided application name is safe and intuitive. */ export declare function validateAppName(name: string): void; /** * A unique symbol to identify ADK App classes. * Defined once and shared by all App instances. */ declare const APP_SIGNATURE_SYMBOL: unique symbol; /** * Type guard to check if an object is an instance of App. * @param obj The object to check. * @returns True if the object is an instance of App, false otherwise. */ export declare function isApp(obj: unknown): obj is App; /** * Options for initializing an App. */ export interface AppOptions { name: string; /** * The root of the application. A bare node — a `Workflow`, most usefully — * is accepted and adapted, so a graph does not have to be wrapped by hand to * be an app root. Accepts the same set a `Runner` does. */ rootAgent: RunnableRoot; plugins?: BasePlugin[]; resumabilityConfig?: ResumabilityConfig; } /** * Represents an LLM-backed agentic application. * * An `App` is the top-level container for an agentic system powered by LLMs. * It manages a root agent (`rootAgent`), which serves as the entry point for execution. * * Exactly one `rootAgent` must be provided. * * The `plugins` are application-wide components that provide shared capabilities * and services to the entire system. */ export declare class App { readonly [APP_SIGNATURE_SYMBOL] = true; readonly name: string; readonly rootAgent: RunnableRoot; readonly plugins: BasePlugin[]; readonly resumabilityConfig?: ResumabilityConfig; constructor(options: AppOptions); } export {};