import { ICurrentPageState } from "@omnia/wcm"; import { ApprovalData, ApprovalRequestType, PageData, VersionedPageData } from "../pages"; import { PublishingRule } from "./PublishingRule"; export declare abstract class ApprovalRuleResolver { type: ApprovalRequestType; abstract getApprovalData(versionedPageData: VersionedPageData): ApprovalData; abstract isRuleDataMatched(rule: PublishingRule): boolean; abstract isValidToHaveApproval(currentPage: ICurrentPageState): boolean; } export declare class PublishApprovalRuleResolver implements ApprovalRuleResolver { type: ApprovalRequestType; getApprovalData(versionedPageData: VersionedPageData): ApprovalData; isRuleDataMatched(rule: PublishingRule): boolean; isValidToHaveApproval(currentPage: ICurrentPageState): boolean; } export declare class DeletionApprovalRuleResolver implements ApprovalRuleResolver { type: ApprovalRequestType; getApprovalData(versionedPageData: VersionedPageData): ApprovalData; isRuleDataMatched(rule: PublishingRule): boolean; isValidToHaveApproval(currentPage: ICurrentPageState): boolean; }