import { StateRepository } from "../repositories/StateRepository.js";
export interface StateImportRowResult {
    row: number;
    name: string;
    status: "imported" | "skipped";
    reason?: string;
}
export declare class StateService {
    private readonly stateRepository;
    constructor(stateRepository?: StateRepository);
    createState(data: {
        name: string;
        tamilName?: string;
        status?: boolean;
        createdBy?: bigint;
    }): Promise<{
        name: string;
        id: bigint;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        tamilName: string | null;
        createdBy: bigint | null;
    }>;
    getStates(page?: number, limit?: number, search?: string, status?: boolean): Promise<{
        data: {
            name: string;
            id: bigint;
            status: boolean;
            createdAt: Date;
            updatedAt: Date;
            tamilName: string | null;
            createdBy: bigint | null;
        }[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getActiveStates(): Promise<{
        name: string;
        id: bigint;
        tamilName: string | null;
    }[]>;
    getStateById(id: bigint): Promise<{
        name: string;
        id: bigint;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        tamilName: string | null;
        createdBy: bigint | null;
    }>;
    updateState(id: bigint, data: {
        name?: string;
        tamilName?: string;
        status?: boolean;
    }): Promise<{
        name: string;
        id: bigint;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        tamilName: string | null;
        createdBy: bigint | null;
    }>;
    deleteState(id: bigint): Promise<{
        name: string;
        id: bigint;
        status: boolean;
        createdAt: Date;
        updatedAt: Date;
        tamilName: string | null;
        createdBy: bigint | null;
    }>;
    generateImportTemplate(): Promise<Buffer>;
    importBulk(fileBuffer: Buffer, createdBy?: bigint): Promise<{
        message: string;
        importedCount: number;
        skippedCount: number;
        results: StateImportRowResult[];
    }>;
}
//# sourceMappingURL=StateService.d.ts.map