import { Currency } from '@prisma/client';
import { PrismaService } from "../../../core/database/prisma/prisma.service";
export interface CurrencyInput {
    code: string;
    name: string;
    symbol?: string;
    decimals?: number;
    enabled?: boolean;
}
export interface UpdateCurrencyInput {
    name?: string;
    symbol?: string;
    decimals?: number;
    enabled?: boolean;
}
export declare class CurrencyService {
    private prisma;
    constructor(prisma: PrismaService);
    list(opts?: {
        enabledOnly?: boolean;
    }): Promise<Currency[]>;
    findByCode(code: string): Promise<Currency | null>;
    create(input: CurrencyInput, userId: string, organizationId: string): Promise<{
        symbol: string | null;
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        organizationId: string | null;
        createdById: string | null;
        enabled: boolean;
        decimals: number;
    }>;
    update(code: string, input: UpdateCurrencyInput): Promise<{
        symbol: string | null;
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        organizationId: string | null;
        createdById: string | null;
        enabled: boolean;
        decimals: number;
    }>;
    setEnabled(code: string, enabled: boolean): Promise<{
        symbol: string | null;
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        organizationId: string | null;
        createdById: string | null;
        enabled: boolean;
        decimals: number;
    }>;
}
