import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { JournalLine, JournalLine$Outbound } from "./journalline.js";
import { RawResponse, RawResponse$Outbound } from "./rawresponse.js";
export type AccountingJournalResult4 = {};
export type AccountingJournalResultSourceValue = string | number | boolean | AccountingJournalResult4 | Array<any>;
/**
 * The journal status
 */
export declare enum AccountingJournalResultValue {
    Draft = "draft",
    Posted = "posted",
    Void = "void",
    UnmappedValue = "unmapped_value"
}
/**
 * The journal status
 */
export type AccountingJournalResultValueOpen = OpenEnum<typeof AccountingJournalResultValue>;
/**
 * Status of the journal
 */
export type AccountingJournalResultStatus = {
    sourceValue?: string | number | boolean | AccountingJournalResult4 | Array<any> | null | undefined;
    /**
     * The journal status
     */
    value?: AccountingJournalResultValueOpen | null | undefined;
};
export type AccountingJournalResultData = {
    /**
     * ID of the company this journal belongs to
     */
    companyId?: string | null | undefined;
    /**
     * Timestamp when the journal was created
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * List of journal lines
     */
    lines?: Array<JournalLine> | null | undefined;
    /**
     * Memo or description for the journal
     */
    memo?: string | null | undefined;
    /**
     * Timestamp when the journal was posted
     */
    postedAt?: Date | null | undefined;
    /**
     * Reference number for the journal
     */
    reference?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Status of the journal
     */
    status?: AccountingJournalResultStatus | null | undefined;
    /**
     * Date of the journal transaction
     */
    transactionDate?: Date | null | undefined;
    /**
     * Timestamp when the journal was last updated
     */
    updatedAt?: Date | null | undefined;
};
export type AccountingJournalResult = {
    data?: AccountingJournalResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const AccountingJournalResult4$inboundSchema: z.ZodType<AccountingJournalResult4, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingJournalResult4$Outbound = {};
/** @internal */
export declare const AccountingJournalResult4$outboundSchema: z.ZodType<AccountingJournalResult4$Outbound, z.ZodTypeDef, AccountingJournalResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResult4$ {
    /** @deprecated use `AccountingJournalResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResult4$Outbound, z.ZodTypeDef, AccountingJournalResult4>;
    /** @deprecated use `AccountingJournalResult4$Outbound` instead. */
    type Outbound = AccountingJournalResult4$Outbound;
}
export declare function accountingJournalResult4ToJSON(accountingJournalResult4: AccountingJournalResult4): string;
export declare function accountingJournalResult4FromJSON(jsonString: string): SafeParseResult<AccountingJournalResult4, SDKValidationError>;
/** @internal */
export declare const AccountingJournalResultSourceValue$inboundSchema: z.ZodType<AccountingJournalResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingJournalResultSourceValue$Outbound = string | number | boolean | AccountingJournalResult4$Outbound | Array<any>;
/** @internal */
export declare const AccountingJournalResultSourceValue$outboundSchema: z.ZodType<AccountingJournalResultSourceValue$Outbound, z.ZodTypeDef, AccountingJournalResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResultSourceValue$ {
    /** @deprecated use `AccountingJournalResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResultSourceValue$Outbound, z.ZodTypeDef, AccountingJournalResultSourceValue>;
    /** @deprecated use `AccountingJournalResultSourceValue$Outbound` instead. */
    type Outbound = AccountingJournalResultSourceValue$Outbound;
}
export declare function accountingJournalResultSourceValueToJSON(accountingJournalResultSourceValue: AccountingJournalResultSourceValue): string;
export declare function accountingJournalResultSourceValueFromJSON(jsonString: string): SafeParseResult<AccountingJournalResultSourceValue, SDKValidationError>;
/** @internal */
export declare const AccountingJournalResultValue$inboundSchema: z.ZodType<AccountingJournalResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AccountingJournalResultValue$outboundSchema: z.ZodType<AccountingJournalResultValueOpen, z.ZodTypeDef, AccountingJournalResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResultValue$ {
    /** @deprecated use `AccountingJournalResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResultValueOpen, z.ZodTypeDef, AccountingJournalResultValueOpen>;
}
/** @internal */
export declare const AccountingJournalResultStatus$inboundSchema: z.ZodType<AccountingJournalResultStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingJournalResultStatus$Outbound = {
    source_value?: string | number | boolean | AccountingJournalResult4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AccountingJournalResultStatus$outboundSchema: z.ZodType<AccountingJournalResultStatus$Outbound, z.ZodTypeDef, AccountingJournalResultStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResultStatus$ {
    /** @deprecated use `AccountingJournalResultStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResultStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResultStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResultStatus$Outbound, z.ZodTypeDef, AccountingJournalResultStatus>;
    /** @deprecated use `AccountingJournalResultStatus$Outbound` instead. */
    type Outbound = AccountingJournalResultStatus$Outbound;
}
export declare function accountingJournalResultStatusToJSON(accountingJournalResultStatus: AccountingJournalResultStatus): string;
export declare function accountingJournalResultStatusFromJSON(jsonString: string): SafeParseResult<AccountingJournalResultStatus, SDKValidationError>;
/** @internal */
export declare const AccountingJournalResultData$inboundSchema: z.ZodType<AccountingJournalResultData, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingJournalResultData$Outbound = {
    company_id?: string | null | undefined;
    created_at?: string | null | undefined;
    id?: string | null | undefined;
    lines?: Array<JournalLine$Outbound> | null | undefined;
    memo?: string | null | undefined;
    posted_at?: string | null | undefined;
    reference?: string | null | undefined;
    remote_id?: string | null | undefined;
    status?: AccountingJournalResultStatus$Outbound | null | undefined;
    transaction_date?: string | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const AccountingJournalResultData$outboundSchema: z.ZodType<AccountingJournalResultData$Outbound, z.ZodTypeDef, AccountingJournalResultData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResultData$ {
    /** @deprecated use `AccountingJournalResultData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResultData, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResultData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResultData$Outbound, z.ZodTypeDef, AccountingJournalResultData>;
    /** @deprecated use `AccountingJournalResultData$Outbound` instead. */
    type Outbound = AccountingJournalResultData$Outbound;
}
export declare function accountingJournalResultDataToJSON(accountingJournalResultData: AccountingJournalResultData): string;
export declare function accountingJournalResultDataFromJSON(jsonString: string): SafeParseResult<AccountingJournalResultData, SDKValidationError>;
/** @internal */
export declare const AccountingJournalResult$inboundSchema: z.ZodType<AccountingJournalResult, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingJournalResult$Outbound = {
    data?: AccountingJournalResultData$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const AccountingJournalResult$outboundSchema: z.ZodType<AccountingJournalResult$Outbound, z.ZodTypeDef, AccountingJournalResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingJournalResult$ {
    /** @deprecated use `AccountingJournalResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingJournalResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingJournalResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingJournalResult$Outbound, z.ZodTypeDef, AccountingJournalResult>;
    /** @deprecated use `AccountingJournalResult$Outbound` instead. */
    type Outbound = AccountingJournalResult$Outbound;
}
export declare function accountingJournalResultToJSON(accountingJournalResult: AccountingJournalResult): string;
export declare function accountingJournalResultFromJSON(jsonString: string): SafeParseResult<AccountingJournalResult, SDKValidationError>;
//# sourceMappingURL=accountingjournalresult.d.ts.map