import { custom, customJson, Logger } from '../util/logging.js'; import { type Reader, ServiceAccount } from './service_account.js'; /** * Loads a Nebius service-account credentials JSON file. * * The constructor reads the file immediately. It validates the algorithm, * credential type, and equality of issuer and subject. Missing or malformed * key identifiers and private-key values can fail later when the SDK signs or * exchanges a token. Keep the file private because it contains the private key. * * @example * ```ts * import { SDK } from '@nebius/js-sdk'; * import { CredentialsFileReader } from '@nebius/js-sdk/runtime/service_account/credentials_file'; * * const sdk = new SDK({ * // Passing the reader lets SDK create and connect the token-exchange flow. * credentials: new CredentialsFileReader( * '~/.config/nebius/service-account.json', * ), * userAgentPrefix: 'example-application/1.0', * }); * ``` */ export declare class CredentialsFileReader implements Reader { [custom]: () => string; private logger?; /** Contains the fully qualified runtime type name. */ readonly $type = "nebius.sdk.CredentialsFileReader"; private readonly sc; private readonly pem; private readonly path; /** Reads `filename`; a leading `~` resolves to the home directory. */ constructor(filename: string, logger?: Logger | undefined); /** Returns a JSON-safe value for logs. */ [customJson](): object; /** Creates a service-account value from the credentials held in memory. */ read(): ServiceAccount; /** Returns the exchange token request. */ getExchangeTokenRequest(): import("../../api/nebius/iam/v1/index.js").ExchangeTokenRequest; } //# sourceMappingURL=credentials_file.d.ts.map