import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosCommissionRule } from './entities/pos-commission-rule.entity';
import { PosCommissionEntry } from './entities/pos-commission-entry.entity';
export declare class PosCommissionService extends BaseTenantService<PosCommissionRule> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosCommissionRule;
    constructor(tenantConnectionService: TenantConnectionService);
    findAllRules(query: {
        store_id?: number;
        is_active?: boolean;
        page?: number;
        limit?: number;
    }): Promise<{
        items: PosCommissionRule[];
        total: number;
        page: number;
        limit: number;
    }>;
    findOneRule(id: number): Promise<PosCommissionRule>;
    createRule(data: Record<string, any>): Promise<PosCommissionRule>;
    updateRule(id: number, data: Record<string, any>): Promise<PosCommissionRule>;
    findEntries(query: {
        staff_user_id?: number;
        sale_id?: number;
        status?: string;
        page?: number;
        limit?: number;
    }): Promise<{
        items: PosCommissionEntry[];
        total: number;
        page: number;
        limit: number;
    }>;
    findOneEntry(id: number): Promise<PosCommissionEntry>;
    approveEntry(id: number, userId: number, data: {
        note?: string;
    }): Promise<PosCommissionEntry>;
    bulkApproveEntry(ids: number[], userId: number): Promise<{
        approved: number;
    }>;
    payEntry(id: number): Promise<PosCommissionEntry>;
    calculateCommissionsForSale(saleId: number): Promise<{
        calculated: number;
        entries: PosCommissionEntry[];
    }>;
}
