import type { ServerInfo, ISession as IMystSession } from 'myst-cli'; import type { Store } from 'redux'; import type { RootState } from '../store/index.js'; import type { MystPlugin } from 'myst-common'; import type { CheckInterface } from '@curvenote/check-implementations'; import type { Logger } from 'myst-cli-utils'; export type SessionOpts = { debug?: boolean; config?: string; }; export interface TokenData { api: string; email: string; username?: string; note?: string; token: string; } export interface TokenConfig { tokens?: TokenData[]; token?: string; } export type TokenPayload = { aud: string; iss: string; sub: string; exp?: number; iat?: number; cfg?: string; ignoreExpiration?: boolean; name?: string; note?: string; [key: string]: any; }; export type Token = { token: string; decoded: TokenPayload; }; export type TokenPair = Partial>; export type Response = any> = Promise<{ ok: boolean; status: number; json: T; }>; export type CurvenotePlugin = MystPlugin & { checks?: CheckInterface[]; }; export type ValidatedCurvenotePlugin = Required> & { paths: string[]; checksPaths: string[]; }; export type CLIConfigData = { apiUrl: string; adminUrl: string; editorApiUrl: string; editorUrl: string; privateCdnUrl: string; tempCdnUrl: string; publicCdnUrl: string; deploymentCdnUrl: string; anonymous?: boolean; }; export type ISession = IMystSession & { store: Store; isAnon: boolean; config: CLIConfigData; activeTokens: TokenPair; plugins: ValidatedCurvenotePlugin | undefined; server: ServerInfo | undefined; refreshSessionToken(opts?: { checkStatusOnFailure: boolean; }): Promise; getHeaders(): Promise>; get = any>(url: string, query?: Record): Response; post = any>(url: string, data: unknown): Response; patch = any>(url: string, data: unknown): Response; reload(): Promise; clone(): Promise; setLogger(logger: Logger): void; }; //# sourceMappingURL=types.d.ts.map