import { PosCommissionService } from './pos-commission.service';
import { CreatePosCommissionRuleDto, UpdatePosCommissionRuleDto, ApprovePosCommissionEntryDto } from './dto/pos-commission.dto';
export declare class PosCommissionController {
    private readonly commissionService;
    constructor(commissionService: PosCommissionService);
    listRules(storeId?: number, isActive?: string, page?: string, limit?: string): Promise<{
        items: import("./entities/pos-commission-rule.entity").PosCommissionRule[];
        total: number;
        page: number;
        limit: number;
    }>;
    getRule(id: number): Promise<import("./entities/pos-commission-rule.entity").PosCommissionRule>;
    createRule(dto: CreatePosCommissionRuleDto): Promise<import("./entities/pos-commission-rule.entity").PosCommissionRule>;
    updateRule(id: number, dto: UpdatePosCommissionRuleDto): Promise<import("./entities/pos-commission-rule.entity").PosCommissionRule>;
    listEntries(staffUserId?: number, saleId?: number, status?: string, page?: string, limit?: string): Promise<{
        items: import("./entities/pos-commission-entry.entity").PosCommissionEntry[];
        total: number;
        page: number;
        limit: number;
    }>;
    getEntry(id: number): Promise<import("./entities/pos-commission-entry.entity").PosCommissionEntry>;
    approveEntry(id: number, dto: ApprovePosCommissionEntryDto): Promise<import("./entities/pos-commission-entry.entity").PosCommissionEntry>;
    bulkApprove(ids: number[]): Promise<{
        approved: number;
    }>;
    payEntry(id: number): Promise<import("./entities/pos-commission-entry.entity").PosCommissionEntry>;
    calculateForSale(saleId: number): Promise<{
        calculated: number;
        entries: import("./entities/pos-commission-entry.entity").PosCommissionEntry[];
    }>;
}
