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 { RawResponse } from "./rawresponse.js";
export declare enum AccountingAccountResult2 {
    True = "true",
    False = "false"
}
/**
 * Whether the account is active
 */
export type AccountingAccountResultActive = boolean | AccountingAccountResult2;
export type AccountingAccountResult4 = {};
export type AccountingAccountResultSourceValue = string | number | boolean | AccountingAccountResult4 | Array<any>;
/**
 * Type of account
 */
export declare enum AccountingAccountResultValue {
    Asset = "asset",
    Liability = "liability",
    Equity = "equity",
    Revenue = "revenue",
    Expense = "expense",
    UnmappedValue = "unmapped_value"
}
/**
 * Type of account
 */
export type AccountingAccountResultValueOpen = OpenEnum<typeof AccountingAccountResultValue>;
/**
 * Type of account
 */
export type AccountingAccountResultType = {
    sourceValue?: string | number | boolean | AccountingAccountResult4 | Array<any> | null | undefined;
    /**
     * Type of account
     */
    value?: AccountingAccountResultValueOpen | null | undefined;
};
export type Data = {
    /**
     * Whether the account is active
     */
    active?: boolean | AccountingAccountResult2 | null | undefined;
    /**
     * External system's account code/number
     */
    code?: string | null | undefined;
    /**
     * ID of the company this account belongs to
     */
    companyId?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Name of the account
     */
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Type of account
     */
    type?: AccountingAccountResultType | null | undefined;
};
export type AccountingAccountResult = {
    data?: Data | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const AccountingAccountResult2$inboundSchema: z.ZodNativeEnum<typeof AccountingAccountResult2>;
/** @internal */
export declare const AccountingAccountResultActive$inboundSchema: z.ZodType<AccountingAccountResultActive, z.ZodTypeDef, unknown>;
export declare function accountingAccountResultActiveFromJSON(jsonString: string): SafeParseResult<AccountingAccountResultActive, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResult4$inboundSchema: z.ZodType<AccountingAccountResult4, z.ZodTypeDef, unknown>;
export declare function accountingAccountResult4FromJSON(jsonString: string): SafeParseResult<AccountingAccountResult4, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResultSourceValue$inboundSchema: z.ZodType<AccountingAccountResultSourceValue, z.ZodTypeDef, unknown>;
export declare function accountingAccountResultSourceValueFromJSON(jsonString: string): SafeParseResult<AccountingAccountResultSourceValue, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResultValue$inboundSchema: z.ZodType<AccountingAccountResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AccountingAccountResultType$inboundSchema: z.ZodType<AccountingAccountResultType, z.ZodTypeDef, unknown>;
export declare function accountingAccountResultTypeFromJSON(jsonString: string): SafeParseResult<AccountingAccountResultType, SDKValidationError>;
/** @internal */
export declare const Data$inboundSchema: z.ZodType<Data, z.ZodTypeDef, unknown>;
export declare function dataFromJSON(jsonString: string): SafeParseResult<Data, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResult$inboundSchema: z.ZodType<AccountingAccountResult, z.ZodTypeDef, unknown>;
export declare function accountingAccountResultFromJSON(jsonString: string): SafeParseResult<AccountingAccountResult, SDKValidationError>;
//# sourceMappingURL=accountingaccountresult.d.ts.map