import { AuthorizedServiceSync } from '@txstate-mws/graphql-server'; import type { FastifyTxStateAuthInfo } from 'fastify-txstate'; import { type Asset, type AssetFolder, type Data, type DataFolder, type Page, type Template, type AssetRuleGrants, type DataRuleGrants, type GlobalRuleGrants, type PageRuleGrants, type SiteRuleGrants, type TemplateRuleGrants, type DataRoot, type DGContext } from '../internal.js'; export declare abstract class DosGatoService extends AuthorizedServiceSync { ctx: DGContext; get login(): string; protected haveGlobalPerm(grant: keyof GlobalRuleGrants): boolean; protected haveSitePerm(site: { id: string; }, grant: keyof SiteRuleGrants): boolean; protected havePagePerm(page: Page, grant: keyof PageRuleGrants): boolean; protected haveAssetPerm(asset: Asset, grant: keyof AssetRuleGrants): boolean; protected haveAssetFolderPerm(folder: AssetFolder, grant: keyof AssetRuleGrants): boolean; protected haveDataPerm(item: Data, grant: keyof DataRuleGrants): boolean; protected haveDataFolderPerm(folder: DataFolder, grant: keyof DataRuleGrants): boolean; protected haveDataRootPerm(dataroot: DataRoot, grant: keyof DataRuleGrants): boolean; protected haveTemplatePerm(template: Template, grant: keyof TemplateRuleGrants): boolean; } export declare function getEnabledUser(ctx: DGContext): Promise; export declare function systemContext(): Promise; export declare function userContext(login: string): Promise;