export interface IQuotaSnapshotData { readonly entitlement: number; readonly overage_count: number; readonly overage_permitted: boolean; readonly percent_remaining: number; readonly remaining: number; readonly unlimited: boolean; } export interface ILegacyQuotaSnapshotData { readonly limited_user_quotas?: { readonly chat: number; readonly completions: number; }; readonly monthly_quotas?: { readonly chat: number; readonly completions: number; }; } export interface IEntitlementsData extends ILegacyQuotaSnapshotData { readonly access_type_sku: string; readonly assigned_date: string; readonly can_signup_for_limited: boolean; readonly copilot_plan: string; readonly organization_login_list: string[]; readonly analytics_tracking_id: string; readonly limited_user_reset_date?: string; readonly quota_reset_date?: string; readonly quota_reset_date_utc?: string; readonly quota_snapshots?: { chat?: IQuotaSnapshotData; completions?: IQuotaSnapshotData; premium_interactions?: IQuotaSnapshotData; }; } export interface IPolicyData { readonly mcp?: boolean; readonly chat_preview_features_enabled?: boolean; readonly chat_agent_enabled?: boolean; readonly mcpRegistryUrl?: string; readonly mcpAccess?: "allow_all" | "registry_only"; } export interface ICopilotTokenInfo { readonly sn?: string; readonly fcv1?: string; } export interface IDefaultAccountAuthenticationProvider { readonly id: string; readonly name: string; readonly enterprise: boolean; } export interface IDefaultAccount { readonly authenticationProvider: IDefaultAccountAuthenticationProvider; readonly accountName: string; readonly sessionId: string; readonly enterprise: boolean; readonly entitlementsData?: IEntitlementsData | null; }