import type { MachineConfiguration, ServiceInstanceV2 } from './types.js'; export declare const getStepzenSDK: (zenctlApiUrl: string, deploymentType: string) => { login(adminKey: string, account?: string): Promise; jwtLogin(apiKey: string, instanceId: string, zenctlApiUrl?: string): Promise<{ instanceId: string; accessToken: any; deploymentType: string; account: string; }>; serviceInstance: ServiceInstanceV2; verify: (account: string, adminkey: string, deploymentType: string) => Promise; client: (auth?: { account?: string; adminKey?: string; deploymentType?: string; accessToken?: string; }) => Promise<{ readonly credentials: import("@stepzen/sdk").StepZenAccountV2; delete: ({ folder, name }: { folder: string; name: string; }) => Promise>; deploy: ({ folder, name, directory, config, public: _public, }: { folder: string; name: string; directory: string; config?: string; public?: boolean; }) => Promise>; list: { endpoints: ({ folder, name, }?: { folder?: string; name?: string; }) => Promise>; }; fetchAccountDetails: (fetchAdminKey?: boolean, fetachApiKey?: boolean) => Promise<{ errors: { message: string; }[] | undefined; data: { account: string; adminkey?: string; apikeysAsJsonArray?: string; } | undefined; }>; }>; userAgent: string; version: "v2"; }; /** * Fetches JWT token from MCSP using MCSP's apiKey and instanceId. * * @param apiKey - The MCSP API key * @param instanceId - The MCSP instance ID * @param scopeType - The scope type (e.g., 'services') * @param zenctlApiUrl - The zenctlApiUrl from which the MCSP token domain is fetched * @returns The JWT token * @throws {Error} If the API request fails or the token cannot be retrieved */ export declare const fetchMCSPJWToken: (apiKey: string, instanceId: string, scopeType: string, zenctlApiUrl: string | undefined) => Promise; /** * Resolves the MCSP IAM token URL based on the domain. * Returns the appropriate token URL for production, staging, or development environments. * * @param zenctlApiUrl - The zenctlApiUrl (with or without protocol) * @returns The MCSP IAM token URL * @throws {CLIError} If the domain is invalid or cannot be parsed */ export declare const fetchMCSPIAMTokenURL: (zenctlApiUrl: string) => Promise; export type SdkInterface = ReturnType; export declare const hasSdkInterfaceV2: (configuration: MachineConfiguration) => string | false | undefined; /** * @param {*} configuration `stepzen.config.yaml` file content * @param {*} fn function to execute with the `stepzen` API object * @returns {*} return value of `fn` */ export declare function tryZenCtl(configuration: MachineConfiguration, fn: (stepzen: SdkInterface) => Promise): Promise<{ result: R; serviceInstance?: ServiceInstanceV2; configuration: MachineConfiguration; configMigrated: boolean; }>; //# sourceMappingURL=stepzen-sdk.d.ts.map