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";
export declare enum Two {
    True = "true",
    False = "false"
}
/**
 * Whether the account is active
 */
export type Active = boolean | Two;
export type AccountingAccount4 = {};
export type AccountingAccountSourceValue = string | number | boolean | AccountingAccount4 | Array<any>;
/**
 * Type of account
 */
export declare enum AccountingAccountValue {
    Asset = "asset",
    Liability = "liability",
    Equity = "equity",
    Revenue = "revenue",
    Expense = "expense",
    UnmappedValue = "unmapped_value"
}
/**
 * Type of account
 */
export type AccountingAccountValueOpen = OpenEnum<typeof AccountingAccountValue>;
/**
 * Type of account
 */
export type Type = {
    sourceValue?: string | number | boolean | AccountingAccount4 | Array<any> | null | undefined;
    /**
     * Type of account
     */
    value?: AccountingAccountValueOpen | null | undefined;
};
export type AccountingAccount = {
    /**
     * Whether the account is active
     */
    active?: boolean | Two | 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?: Type | null | undefined;
};
/** @internal */
export declare const Two$inboundSchema: z.ZodNativeEnum<typeof Two>;
/** @internal */
export declare const Two$outboundSchema: z.ZodNativeEnum<typeof Two>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Two$ {
    /** @deprecated use `Two$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof Two>;
    /** @deprecated use `Two$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof Two>;
}
/** @internal */
export declare const Active$inboundSchema: z.ZodType<Active, z.ZodTypeDef, unknown>;
/** @internal */
export type Active$Outbound = boolean | string;
/** @internal */
export declare const Active$outboundSchema: z.ZodType<Active$Outbound, z.ZodTypeDef, Active>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Active$ {
    /** @deprecated use `Active$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Active, z.ZodTypeDef, unknown>;
    /** @deprecated use `Active$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Active$Outbound, z.ZodTypeDef, Active>;
    /** @deprecated use `Active$Outbound` instead. */
    type Outbound = Active$Outbound;
}
export declare function activeToJSON(active: Active): string;
export declare function activeFromJSON(jsonString: string): SafeParseResult<Active, SDKValidationError>;
/** @internal */
export declare const AccountingAccount4$inboundSchema: z.ZodType<AccountingAccount4, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccount4$Outbound = {};
/** @internal */
export declare const AccountingAccount4$outboundSchema: z.ZodType<AccountingAccount4$Outbound, z.ZodTypeDef, AccountingAccount4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccount4$ {
    /** @deprecated use `AccountingAccount4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccount4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccount4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccount4$Outbound, z.ZodTypeDef, AccountingAccount4>;
    /** @deprecated use `AccountingAccount4$Outbound` instead. */
    type Outbound = AccountingAccount4$Outbound;
}
export declare function accountingAccount4ToJSON(accountingAccount4: AccountingAccount4): string;
export declare function accountingAccount4FromJSON(jsonString: string): SafeParseResult<AccountingAccount4, SDKValidationError>;
/** @internal */
export declare const AccountingAccountSourceValue$inboundSchema: z.ZodType<AccountingAccountSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountSourceValue$Outbound = string | number | boolean | AccountingAccount4$Outbound | Array<any>;
/** @internal */
export declare const AccountingAccountSourceValue$outboundSchema: z.ZodType<AccountingAccountSourceValue$Outbound, z.ZodTypeDef, AccountingAccountSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountSourceValue$ {
    /** @deprecated use `AccountingAccountSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountSourceValue$Outbound, z.ZodTypeDef, AccountingAccountSourceValue>;
    /** @deprecated use `AccountingAccountSourceValue$Outbound` instead. */
    type Outbound = AccountingAccountSourceValue$Outbound;
}
export declare function accountingAccountSourceValueToJSON(accountingAccountSourceValue: AccountingAccountSourceValue): string;
export declare function accountingAccountSourceValueFromJSON(jsonString: string): SafeParseResult<AccountingAccountSourceValue, SDKValidationError>;
/** @internal */
export declare const AccountingAccountValue$inboundSchema: z.ZodType<AccountingAccountValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AccountingAccountValue$outboundSchema: z.ZodType<AccountingAccountValueOpen, z.ZodTypeDef, AccountingAccountValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountValue$ {
    /** @deprecated use `AccountingAccountValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountValueOpen, z.ZodTypeDef, AccountingAccountValueOpen>;
}
/** @internal */
export declare const Type$inboundSchema: z.ZodType<Type, z.ZodTypeDef, unknown>;
/** @internal */
export type Type$Outbound = {
    source_value?: string | number | boolean | AccountingAccount4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Type$outboundSchema: z.ZodType<Type$Outbound, z.ZodTypeDef, Type>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Type$ {
    /** @deprecated use `Type$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Type, z.ZodTypeDef, unknown>;
    /** @deprecated use `Type$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Type$Outbound, z.ZodTypeDef, Type>;
    /** @deprecated use `Type$Outbound` instead. */
    type Outbound = Type$Outbound;
}
export declare function typeToJSON(type: Type): string;
export declare function typeFromJSON(jsonString: string): SafeParseResult<Type, SDKValidationError>;
/** @internal */
export declare const AccountingAccount$inboundSchema: z.ZodType<AccountingAccount, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccount$Outbound = {
    active?: boolean | string | null | undefined;
    code?: string | null | undefined;
    company_id?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
    type?: Type$Outbound | null | undefined;
};
/** @internal */
export declare const AccountingAccount$outboundSchema: z.ZodType<AccountingAccount$Outbound, z.ZodTypeDef, AccountingAccount>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccount$ {
    /** @deprecated use `AccountingAccount$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccount, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccount$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccount$Outbound, z.ZodTypeDef, AccountingAccount>;
    /** @deprecated use `AccountingAccount$Outbound` instead. */
    type Outbound = AccountingAccount$Outbound;
}
export declare function accountingAccountToJSON(accountingAccount: AccountingAccount): string;
export declare function accountingAccountFromJSON(jsonString: string): SafeParseResult<AccountingAccount, SDKValidationError>;
//# sourceMappingURL=accountingaccount.d.ts.map