import { z } from 'zod';
export declare const LedgerEntryTypeSchema: z.ZodEnum<["debit", "credit"]>;
export declare const LedgerEntrySchema: z.ZodObject<{
    id: z.ZodString;
    accountId: z.ZodString;
    type: z.ZodEnum<["debit", "credit"]>;
    amount: z.ZodNumber;
    currency: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    reference: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
    id: string;
    type: "debit" | "credit";
    amount: number;
    currency: string;
    createdAt: string | Date;
    accountId: string;
    description?: string | undefined;
    reference?: string | undefined;
}, {
    id: string;
    type: "debit" | "credit";
    amount: number;
    currency: string;
    createdAt: string | Date;
    accountId: string;
    description?: string | undefined;
    reference?: string | undefined;
}>;
export type LedgerEntry = z.infer<typeof LedgerEntrySchema>;
export declare const CreateLedgerEntrySchema: z.ZodObject<Omit<{
    id: z.ZodString;
    accountId: z.ZodString;
    type: z.ZodEnum<["debit", "credit"]>;
    amount: z.ZodNumber;
    currency: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    reference: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodUnion<[z.ZodDate, z.ZodString]>;
}, "id" | "createdAt">, "strip", z.ZodTypeAny, {
    type: "debit" | "credit";
    amount: number;
    currency: string;
    accountId: string;
    description?: string | undefined;
    reference?: string | undefined;
}, {
    type: "debit" | "credit";
    amount: number;
    currency: string;
    accountId: string;
    description?: string | undefined;
    reference?: string | undefined;
}>;
export type CreateLedgerEntry = z.infer<typeof CreateLedgerEntrySchema>;
//# sourceMappingURL=ledger.d.ts.map