import { ActiveUserBillingRepository } from '../repositories/ActiveUserBillingRepository';
export interface IActiveUserBillingServiceDeps {
    activeUserBillingRepository: ActiveUserBillingRepository;
}
export declare class ActiveUserBillingService {
    private readonly deps;
    constructor(deps: IActiveUserBillingServiceDeps);
    /**
     * Count active users for a platform organization (uses PlatformBilling subscription ID).
     * A user is "active" if they hosted or attended at least one booking in the period OR managed.
     *
     * Uses the platform-specific host query that filters on isPlatformManaged + subscriptionId
     * to ensure only bookings belonging to this org's managed users are counted.
     */
    getActiveUserCountForPlatformOrg(subscriptionId: string, periodStart: Date, periodEnd: Date): Promise<number>;
    /**
     * Count active users for a regular organization (uses org/team ID).
     * A user is "active" if they hosted or attended at least one booking in the period.
     */
    getActiveUserCountForOrg(orgId: number, periodStart: Date, periodEnd: Date): Promise<number>;
    private countActiveUsers;
}
//# sourceMappingURL=ActiveUserBillingService.d.ts.map