import { BadRequestError, EntityNotFoundError, DuplicateError, ForbiddenError } from '../Foundations';
import { Permission, PermissionPredicate, PermissionAssignment, DeletionAcknowledgement } from './types';
export declare type CreatePermissionSuccess = Permission;
export declare type CreatePermissionError = {
    error: BadRequestError | DuplicateError | ForbiddenError;
};
export declare type CreatePermissionResponse = CreatePermissionSuccess | CreatePermissionError;
export declare type UpdatePermissionSuccess = Permission;
export declare type UpdatePermissionError = {
    error: BadRequestError | EntityNotFoundError | ForbiddenError | DuplicateError;
};
export declare type UpdatePermissionResponse = UpdatePermissionSuccess | UpdatePermissionError;
export declare type ArchivePermissionSuccess = Permission;
export declare type ArchivePermissionError = {
    error: EntityNotFoundError | ForbiddenError;
};
export declare type ArchivePermissionResponse = ArchivePermissionSuccess | ArchivePermissionError;
export declare type GetPermissionByIdSuccess = Permission;
export declare type GetPermissionByIdError = {
    error: EntityNotFoundError | ForbiddenError;
};
export declare type GetPermissionByIdResponse = GetPermissionByIdSuccess | GetPermissionByIdError;
export declare type ListPermissionsSuccess = {
    items: Permission[];
};
export declare type ListPermissionsError = {
    error: ForbiddenError;
};
export declare type ListPermissionsResponse = ListPermissionsSuccess | ListPermissionsError;
export declare type CreatePermissionPredicateSuccess = PermissionPredicate;
export declare type CreatePermissionPredicateError = {
    error: BadRequestError | DuplicateError | ForbiddenError;
};
export declare type CreatePermissionPredicateResponse = CreatePermissionPredicateSuccess | CreatePermissionPredicateError;
export declare type UpdatePermissionPredicateSuccess = PermissionPredicate;
export declare type UpdatePermissionPredicateError = {
    error: BadRequestError | EntityNotFoundError | ForbiddenError;
};
export declare type UpdatePermissionPredicateResponse = UpdatePermissionPredicateSuccess | UpdatePermissionPredicateError;
export declare type ArchivePermissionPredicateSuccess = PermissionPredicate;
export declare type ArchivePermissionPredicateError = {
    error: EntityNotFoundError | ForbiddenError;
};
export declare type ArchivePermissionPredicateResponse = ArchivePermissionPredicateSuccess | ArchivePermissionPredicateError;
export declare type ListPermissionPredicatesSuccess = {
    items: PermissionPredicate[];
};
export declare type ListPermissionPredicatesError = {
    error: ForbiddenError;
};
export declare type ListPermissionPredicatesResponse = ListPermissionPredicatesSuccess | ListPermissionPredicatesError;
export declare type CreatePermissionAssignmentSuccess = PermissionAssignment;
export declare type CreatePermissionAssignmentError = {
    error: BadRequestError | EntityNotFoundError | DuplicateError | ForbiddenError;
};
export declare type CreatePermissionAssignmentResponse = CreatePermissionAssignmentSuccess | CreatePermissionAssignmentError;
export declare type RevokePermissionAssignmentSuccess = DeletionAcknowledgement;
export declare type RevokePermissionAssignmentError = {
    error: EntityNotFoundError | ForbiddenError;
};
export declare type RevokePermissionAssignmentResponse = RevokePermissionAssignmentSuccess | RevokePermissionAssignmentError;
export declare type ListPermissionAssignmentsSuccess = {
    items: PermissionAssignment[];
};
export declare type ListPermissionAssignmentsError = {
    error: ForbiddenError;
};
export declare type ListPermissionAssignmentsResponse = ListPermissionAssignmentsSuccess | ListPermissionAssignmentsError;
export declare type ListPermissionsHistoricalSuccess = {
    items: Permission[];
};
export declare type ListPermissionsHistoricalError = {
    error: ForbiddenError;
};
export declare type ListPermissionsHistoricalResponse = ListPermissionsHistoricalSuccess | ListPermissionsHistoricalError;
