import { GetWorkspaceLimits } from '../authz/domain/workspaces/operations.js';
import { GetHistoryLimits, HistoryLimitTypes, HistoryLimits } from './domain.js';
import { Project } from '../authz/domain/projects/types.js';
export declare const isCreatedBeyondHistoryLimitCutoffFactory: ({ getProjectLimitDate }: {
    getProjectLimitDate: GetProjectLimitDate;
}) => ({ entity, project, limitType }: {
    entity: {
        createdAt: Date;
    };
    project: Pick<Project, "workspaceId">;
    limitType: HistoryLimitTypes;
}) => Promise<boolean>;
export type IsCreatedBeyondHistoryLimitCutoff = ReturnType<typeof isCreatedBeyondHistoryLimitCutoffFactory>;
export declare const calculateLimitCutoffDate: (historyLimits: HistoryLimits | null, limitType: HistoryLimitTypes) => Date | null;
export type GetProjectLimitDate = (args: {
    project: Pick<Project, 'workspaceId'>;
    limitType: HistoryLimitTypes;
}) => Promise<Date | null>;
export declare const getProjectLimitDateFactory: ({ getWorkspaceLimits, getPersonalProjectLimits }: {
    getWorkspaceLimits: GetWorkspaceLimits;
    getPersonalProjectLimits: GetHistoryLimits;
}) => GetProjectLimitDate;
//# sourceMappingURL=utils.d.ts.map