/**
 * This file is auto generated.
 * Do not edit manually.
 */
import type { SubjectMetadataController } from "./SubjectMetadataController.cjs";
/**
 * Clears the state of this controller. Also resets the cache of subjects
 * encountered since startup, so as to not prematurely reach the cache limit.
 */
export type SubjectMetadataControllerClearStateAction = {
    type: `SubjectMetadataController:clearState`;
    handler: SubjectMetadataController['clearState'];
};
/**
 * Stores domain metadata for the given origin (subject). Deletes metadata for
 * subjects without permissions in a FIFO manner once more than
 * {@link SubjectMetadataController.subjectCacheLimit} distinct origins have
 * been added since boot.
 *
 * In order to prevent a degraded user experience,
 * metadata is never deleted for subjects with permissions, since metadata
 * cannot yet be requested on demand.
 *
 * @param metadata - The subject metadata to store.
 */
export type SubjectMetadataControllerAddSubjectMetadataAction = {
    type: `SubjectMetadataController:addSubjectMetadata`;
    handler: SubjectMetadataController['addSubjectMetadata'];
};
/**
 * Gets the subject metadata for the given origin, if any.
 *
 * @param origin - The origin for which to get the subject metadata.
 * @returns The subject metadata, if any, or `undefined` otherwise.
 */
export type SubjectMetadataControllerGetSubjectMetadataAction = {
    type: `SubjectMetadataController:getSubjectMetadata`;
    handler: SubjectMetadataController['getSubjectMetadata'];
};
/**
 * Deletes all subjects without permissions from the controller's state.
 */
export type SubjectMetadataControllerTrimMetadataStateAction = {
    type: `SubjectMetadataController:trimMetadataState`;
    handler: SubjectMetadataController['trimMetadataState'];
};
/**
 * Union of all SubjectMetadataController action types.
 */
export type SubjectMetadataControllerMethodActions = SubjectMetadataControllerClearStateAction | SubjectMetadataControllerAddSubjectMetadataAction | SubjectMetadataControllerGetSubjectMetadataAction | SubjectMetadataControllerTrimMetadataStateAction;
//# sourceMappingURL=SubjectMetadataController-method-action-types.d.cts.map