import { PublicKey } from "@solana/web3.js"; import type { BlockassetProject } from "../../idl"; export declare const PROJECT_ADDRESS: PublicKey; export declare const WRAPPED_SOL_MINT: PublicKey; export declare const METADATA_PROGRAM_ID: PublicKey; export declare const TOKEN_AUTH_RULES_ID: PublicKey; export declare const PROJECT_IDL: { address: string; metadata: { name: string; version: string; spec: string; description: string; repository: string; }; instructions: ({ name: string; docs: string[]; discriminator: number[]; accounts: ({ name: string; writable: boolean; pda: { seeds: { kind: string; value: number[]; }[]; }; signer?: undefined; address?: undefined; } | { name: string; writable: boolean; signer: boolean; pda?: undefined; address?: undefined; } | { name: string; address: string; writable?: undefined; pda?: undefined; signer?: undefined; })[]; args: { name: string; type: { defined: { name: string; }; }; }[]; } | { name: string; discriminator: number[]; accounts: ({ name: string; writable: boolean; pda: { seeds: ({ kind: string; value: number[]; path?: undefined; account?: undefined; } | { kind: string; path: string; account: string; value?: undefined; })[]; }; signer?: undefined; address?: undefined; } | { name: string; writable: boolean; pda?: undefined; signer?: undefined; address?: undefined; } | { name: string; writable: boolean; signer: boolean; pda?: undefined; address?: undefined; } | { name: string; address: string; writable?: undefined; pda?: undefined; signer?: undefined; })[]; args: { name: string; type: { defined: { name: string; }; }; }[]; docs?: undefined; })[]; accounts: { name: string; discriminator: number[]; }[]; errors: { code: number; name: string; msg: string; }[]; types: ({ name: string; type: { kind: string; fields: ({ name: string; type: { vec: string; option?: undefined; }; } | { name: string; type: string; } | { name: string; type: { option: string; vec?: undefined; }; })[]; }; } | { name: string; type: { kind: string; fields: ({ name: string; type: { option: { vec: string; }; }; } | { name: string; type: { option: string; }; })[]; }; })[]; }; export declare const PROJECT_PREFIX = "project"; export declare const IDENTIFIER_PREFIX = "identifier"; export type PROJECT_PROGRAM = BlockassetProject; type ExtractIdlType = Extract["type"]; type SnakeToCamel = S extends `${infer T}_${infer U}` ? `${T}${Capitalize>}` : S; type IdlTypeToTS = T extends "u8" | "u16" | "u32" | "u64" | "i8" | "i16" | "i32" | "i64" ? number : T extends "bool" ? boolean : T extends "string" ? string : T extends "pubkey" ? PublicKey : T extends { vec: infer U; } ? IdlTypeToTS[] : T extends { option: infer U; } ? IdlTypeToTS | null : never; type IdlStructToTS = T extends { kind: "struct"; fields: infer F; } ? F extends readonly any[] ? { [K in F[number] as SnakeToCamel]: IdlTypeToTS; } : never : never; export type ProjectData = IdlStructToTS>; export type IdentifierData = IdlStructToTS>; export {}; //# sourceMappingURL=constants.d.ts.map