import { Context, ValidatedResponse } from '@txstate-mws/graphql-server'; import { Data, DataFilter, Page, PageFilter, Pagetree, Site, Template, TemplateArea, TemplateFilter } from '../internal.js'; export declare class TemplateResolver { templates(ctx: Context, filter?: TemplateFilter): Promise; pagetrees(ctx: Context, template: Template, direct?: boolean): Promise; pages(ctx: Context, template: Template, filter?: PageFilter): Promise; sites(ctx: Context, template: Template, atLeastOneTree?: boolean): Promise; data(ctx: Context, template: Template, filter?: DataFilter): Promise; rootPageTemplates(ctx: Context, template: Template): Promise; permissions(template: Template): Template; authorizeTemplateForSite(ctx: Context, templateKey: string, siteId: string): Promise; authorizeTemplateForPagetrees(ctx: Context, templateKey: string, pagetreeIds: string[]): Promise; deauthorizeTemplate(ctx: Context, templateKey: string, siteId: string): Promise; setTemplateUniversal(ctx: Context, templateId: string, universal: boolean): Promise; } export declare class TemplatePermissionsResolver { assign(ctx: Context, template: Template): boolean; setUniversal(ctx: Context, template: Template): boolean; useOnPage(ctx: Context, template: Template, pageId: string): Promise; useOnPageWithoutRole(ctx: Context, template: Template, pageId: string): Promise; } export declare class TemplateAreaResolver { availableComponents(ctx: Context, templateArea: TemplateArea): Promise; }