/** * Schema definitions for credential storage and token sources. * * @experimental This API is unstable and may change without notice. */ import type * as DateTime from "effect/DateTime"; import * as Schema from "effect/Schema"; import { type Handle } from "../extensions/handle.js"; export declare const CredentialEntrySchema: Schema.Struct<{ readonly access_token: Schema.String; readonly refresh_token: Schema.String; readonly expires_at: Schema.decodeTo; readonly active: Schema.Boolean; }>; export type CredentialEntry = Schema.Schema.Type; export declare const RegistryAccountsSchema: Schema.Struct<{ readonly accounts: Schema.$Record, Schema.Struct<{ readonly access_token: Schema.String; readonly refresh_token: Schema.String; readonly expires_at: Schema.decodeTo; readonly active: Schema.Boolean; }>>; }>; export type RegistryAccounts = Schema.Schema.Type; export declare const CredentialFileSchema: Schema.Struct<{ readonly version: Schema.Literal<1>; readonly registries: Schema.$Record, Schema.Struct<{ readonly access_token: Schema.String; readonly refresh_token: Schema.String; readonly expires_at: Schema.decodeTo; readonly active: Schema.Boolean; }>>; }>>; }>; export type CredentialFile = Schema.Schema.Type; declare const EnvVarTokenSource_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly & { readonly _tag: "EnvVar"; } & import("effect/Pipeable").Pipeable; export declare class EnvVarTokenSource extends EnvVarTokenSource_base<{ readonly token: string; }> { } declare const FlagTokenSource_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly & { readonly _tag: "Flag"; } & import("effect/Pipeable").Pipeable; export declare class FlagTokenSource extends FlagTokenSource_base<{ readonly token: string; }> { } declare const FileTokenSource_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly & { readonly _tag: "File"; } & import("effect/Pipeable").Pipeable; export declare class FileTokenSource extends FileTokenSource_base<{ readonly token: string; readonly path: string; }> { } declare const CredentialStoreTokenSource_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly & { readonly _tag: "CredentialStore"; } & import("effect/Pipeable").Pipeable; export declare class CredentialStoreTokenSource extends CredentialStoreTokenSource_base<{ readonly token: string; readonly refresh_token: string; readonly expires_at: DateTime.Utc; readonly registryUrl: string; }> { } export type TokenSource = EnvVarTokenSource | FileTokenSource | FlagTokenSource | CredentialStoreTokenSource; export interface StoredCredentials { readonly handle: Handle; readonly access_token: string; readonly refresh_token: string; readonly expires_at: DateTime.Utc; } export type StorageTier = "keychain" | "restricted-file" | "plaintext-file"; export {}; //# sourceMappingURL=schema.d.ts.map