import type { AliasMap, Repository, Shared } from "../shared/types.js"; import type * as enums from "./enums.js"; export declare namespace Solana { type Address = string; type ChainCode = `${enums.ChainCode}` | enums.ChainCode; type Cluster = `${enums.Cluster}` | enums.Cluster; type Chain = Shared.Chain & { rpc: Shared.Chain["rpc"] & { helius?: (apiKey: string) => string; }; chainlink: { program: Address; feed: Address; }; definition: { chainCode: ChainCode; chainId: number; cluster: Cluster; }; }; type Program = Shared.Contract; type ProgramMap = Shared.ContractMap
; type ProgramCatalog = { [protocol in Protocol]: { [chainId: number]: { [address: Address]: Program; }; }; }; type AliasCatalog = { [protocol in Protocol]: { [chainId: number]: { [alias: string]: Program; }; }; }; type Deployment = { chainId: number; programs: Program[]; }; type IdlMap = { [contractName: string]: object; }; type Manifest = Shared.Manifest; type Protocol = `${enums.Protocol}` | enums.Protocol; type Release = { idl: IdlMap; aliases?: AliasMap; programNames: string[]; deployments: Deployment[]; isLatest: boolean; manifest: Manifest; protocol: Protocol; repository?: Repository; version: Version; }; namespace Version { type Airdrops = `${enums.Version.Airdrops}` | enums.Version.Airdrops; type Lockup = `${enums.Version.Lockup}` | enums.Version.Lockup; } type Version = Version.Airdrops | Version.Lockup; } //# sourceMappingURL=types.d.ts.map