import { SdkTransport } from "@onflow/typedefs"; /** * Options for configuring the SDK client. */ export interface SdkClientOptions { /** * The URL of the Flow access node to connect to. */ accessNodeUrl: string; /** * The transport object used for sending requests to the Flow network. */ transport: SdkTransport; /** * The compute limit for transactions and queries. */ computeLimit: number; /** * Map of contract names to their addresses. * @example * ```ts * { * "FlowToken": "0x9a07664d3c2b5f8", * } * ``` */ contracts?: { [contractName: string]: string; }; customResolver?: (args: any) => Promise; customDecoders?: { [key: string]: (data: any) => any; }; } export interface SdkContext { get accessNodeUrl(): string; get transport(): SdkTransport; get computeLimit(): number; get customResolver(): ((args: any) => Promise) | undefined; get customDecoders(): { [key: string]: (data: any) => any; }; get contracts(): { [contractName: string]: string; }; get debug(): { [key: string]: any; }; get legacyContractIdentifiers(): Record; } /** * Creates a new SDK context with the provided configuration. */ export declare function createContext({ accessNodeUrl, transport, computeLimit, customResolver, customDecoders, contracts, }: SdkClientOptions): SdkContext;