import * as interfaces from '../dist_ts_interfaces/index.js'; import type { DcRouterApiClient } from './classes.dcrouterapiclient.js'; export declare class ApiToken { private clientRef; id: string; name: string; scopes: interfaces.data.TApiTokenScope[]; createdAt: number; expiresAt: number | null; lastUsedAt: number | null; enabled: boolean; /** Only set on creation or roll. Not persisted on server side. */ tokenValue?: string; constructor(clientRef: DcRouterApiClient, data: interfaces.data.IApiTokenInfo, tokenValue?: string); revoke(): Promise; roll(): Promise; toggle(enabled: boolean): Promise; } export declare class ApiTokenBuilder { private clientRef; private tokenName; private tokenScopes; private tokenExpiresInDays?; constructor(clientRef: DcRouterApiClient); setName(name: string): this; setScopes(scopes: interfaces.data.TApiTokenScope[]): this; addScope(scope: interfaces.data.TApiTokenScope): this; setExpiresInDays(days: number | null): this; save(): Promise; } export declare class ApiTokenManager { private clientRef; constructor(clientRef: DcRouterApiClient); list(): Promise; create(options: { name: string; scopes: interfaces.data.TApiTokenScope[]; expiresInDays?: number | null; }): Promise; build(): ApiTokenBuilder; }