import { CreateDomainTemplateVersionResult, DomainTemplateData, DomainTemplatesQuery, DomainTemplateUpdateData, DomainTemplateUpdateVersionData, DomainTemplateVersionData, ListDomainTemplatesResult, ListDomainTemplateVersionsResult, MutateDomainTemplateVersionResult, NotificationResult, ShortTemplateVersion, TemplateQuery, TemplateVersion, UpdateOrDeleteDomainTemplateResult } from '../../Types/Domains'; export interface IDomainTemplate { name: string; description: string; createdAt: string | Date; createdBy: string; id: string; version?: TemplateVersion; versions?: ShortTemplateVersion[]; } export interface IDomainTemplatesClient { list(domain: string, query?: DomainTemplatesQuery): Promise; get(domain: string, templateName: string, query?: TemplateQuery): Promise; create(domain: string, data: DomainTemplateData): Promise; update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise; destroy(domain: string, templateName: string): Promise; destroyAll(domain: string): Promise; createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise; getVersion(domain: string, templateName: string, tag: string): Promise; updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise; destroyVersion(domain: string, templateName: string, tag: string): Promise; listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise; }