import { EntityPermissionType, EntitySaveOptions } from '@memberjunction/core';
import { MJArtifactPermissionEntity } from '../../generated/entity_subclasses.js';
/**
 * Extended Artifact Permission entity — same dual-purpose pattern as
 * {@link MJDashboardPermissionEntityExtended}. See that class for rationale.
 */
export declare class MJArtifactPermissionEntityExtended extends MJArtifactPermissionEntity {
    CheckPermissions(type: EntityPermissionType, throwError: boolean): boolean;
    Save(options?: EntitySaveOptions): Promise<boolean>;
    private actionsSummary;
    /**
     * Authorization for CREATING a new ArtifactPermission row.
     * Same pattern as MJDashboardPermissionEntityExtended.callerMayShareDashboard
     * but without an in-memory engine — we fetch the artifact and the caller's
     * existing grant row directly.
     */
    private callerMayShareArtifact;
    private fetchArtifactName;
}
/** Tree-shaking prevention — referenced from the custom/Permissions barrel. */
export declare function LoadMJArtifactPermissionEntityExtended(): void;
//# sourceMappingURL=MJArtifactPermissionEntityExtended.d.ts.map