import { CreatePolicyDocumentDto, PutInstancePolicyDto, ReplaceAttachmentsDto, UpdatePolicyDocumentDto } from '@n8n/api-types'; import { AuthenticatedRequest } from '@n8n/db'; import type { Response } from 'express'; import { TypeAvailabilityPolicyService } from './type-availability-policy.service'; export declare class TypeAvailabilityPolicyInstanceController { private readonly service; constructor(service: TypeAvailabilityPolicyService); getInstancePolicy(): Promise<{ scopeId: string | null; rules: readonly import("@n8n/api-types").PolicyRule[]; defaultAction: import("@n8n/api-types").PolicyAction; version: number; }>; putInstancePolicy(req: AuthenticatedRequest, _res: Response, dto: PutInstancePolicyDto): Promise<{ scopeId: string; rules: import("@n8n/api-types").PolicyRule[]; defaultAction: import("@n8n/api-types").PolicyAction; version: number; warnings: readonly import("./policy-shadow-lint").ShadowWarning[]; }>; createPolicy(req: AuthenticatedRequest, _res: Response, dto: CreatePolicyDocumentDto): Promise<{ policy: import("./database/entities/type-availability-policy.entity").TypeAvailabilityPolicy; warnings: readonly import("./policy-shadow-lint").ShadowWarning[]; }>; listPolicies(): Promise; getPolicy(_req: AuthenticatedRequest, _res: Response, policyId: string): Promise; updatePolicy(req: AuthenticatedRequest, _res: Response, policyId: string, dto: UpdatePolicyDocumentDto): Promise<{ policy: import("./database/entities/type-availability-policy.entity").TypeAvailabilityPolicy; warnings: readonly import("./policy-shadow-lint").ShadowWarning[]; }>; deletePolicy(req: AuthenticatedRequest, _res: Response, policyId: string): Promise<{ success: boolean; }>; replaceAttachments(req: AuthenticatedRequest, _res: Response, scopeId: string, dto: ReplaceAttachmentsDto): Promise<{ attachments: readonly import("./policy-rule.types").PolicyAttachment[]; version: number; }>; }