import { Evogram } from '../../Client'; /** * Type definition for the parameters used in the `Context` constructor. * * @template T - The type of the source data that the context wraps. */ export interface ContextParams { client: Evogram; source: T; state?: any; } /** * The `Context` class is a generic container that holds contextual data related to a particular client, source, and state. * * @template T - The type of the source data that the context wraps. */ export declare class Context { #private; /** * Constructs a new `Context` instance. * * @param client - The `Evogram` client associated with this context. * @param source - The source data wrapped by this context. * @param state - Additional state information related to the context. */ constructor({ client, source, state }: ContextParams); /** * Gets the client associated with this context. * * @returns The `Evogram` client. */ get client(): Evogram; /** * Gets the source data wrapped by this context. * * @returns The source data of type `T`. */ get source(): T; /** * Gets the state associated with this context. * * @returns The state data, which could be of any type (unknown). */ get state(): any; protected getContext(params: { key: string; source: any; state?: unknown; }): T; }