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, RawResponse$Outbound } 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 AccountingAccountResult2$outboundSchema: z.ZodNativeEnum<typeof AccountingAccountResult2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResult2$ {
    /** @deprecated use `AccountingAccountResult2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof AccountingAccountResult2>;
    /** @deprecated use `AccountingAccountResult2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof AccountingAccountResult2>;
}
/** @internal */
export declare const AccountingAccountResultActive$inboundSchema: z.ZodType<AccountingAccountResultActive, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountResultActive$Outbound = boolean | string;
/** @internal */
export declare const AccountingAccountResultActive$outboundSchema: z.ZodType<AccountingAccountResultActive$Outbound, z.ZodTypeDef, AccountingAccountResultActive>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResultActive$ {
    /** @deprecated use `AccountingAccountResultActive$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResultActive, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResultActive$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResultActive$Outbound, z.ZodTypeDef, AccountingAccountResultActive>;
    /** @deprecated use `AccountingAccountResultActive$Outbound` instead. */
    type Outbound = AccountingAccountResultActive$Outbound;
}
export declare function accountingAccountResultActiveToJSON(accountingAccountResultActive: AccountingAccountResultActive): string;
export declare function accountingAccountResultActiveFromJSON(jsonString: string): SafeParseResult<AccountingAccountResultActive, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResult4$inboundSchema: z.ZodType<AccountingAccountResult4, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountResult4$Outbound = {};
/** @internal */
export declare const AccountingAccountResult4$outboundSchema: z.ZodType<AccountingAccountResult4$Outbound, z.ZodTypeDef, AccountingAccountResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResult4$ {
    /** @deprecated use `AccountingAccountResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResult4$Outbound, z.ZodTypeDef, AccountingAccountResult4>;
    /** @deprecated use `AccountingAccountResult4$Outbound` instead. */
    type Outbound = AccountingAccountResult4$Outbound;
}
export declare function accountingAccountResult4ToJSON(accountingAccountResult4: AccountingAccountResult4): string;
export declare function accountingAccountResult4FromJSON(jsonString: string): SafeParseResult<AccountingAccountResult4, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResultSourceValue$inboundSchema: z.ZodType<AccountingAccountResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountResultSourceValue$Outbound = string | number | boolean | AccountingAccountResult4$Outbound | Array<any>;
/** @internal */
export declare const AccountingAccountResultSourceValue$outboundSchema: z.ZodType<AccountingAccountResultSourceValue$Outbound, z.ZodTypeDef, AccountingAccountResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResultSourceValue$ {
    /** @deprecated use `AccountingAccountResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResultSourceValue$Outbound, z.ZodTypeDef, AccountingAccountResultSourceValue>;
    /** @deprecated use `AccountingAccountResultSourceValue$Outbound` instead. */
    type Outbound = AccountingAccountResultSourceValue$Outbound;
}
export declare function accountingAccountResultSourceValueToJSON(accountingAccountResultSourceValue: AccountingAccountResultSourceValue): string;
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 AccountingAccountResultValue$outboundSchema: z.ZodType<AccountingAccountResultValueOpen, z.ZodTypeDef, AccountingAccountResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResultValue$ {
    /** @deprecated use `AccountingAccountResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResultValueOpen, z.ZodTypeDef, AccountingAccountResultValueOpen>;
}
/** @internal */
export declare const AccountingAccountResultType$inboundSchema: z.ZodType<AccountingAccountResultType, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountResultType$Outbound = {
    source_value?: string | number | boolean | AccountingAccountResult4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AccountingAccountResultType$outboundSchema: z.ZodType<AccountingAccountResultType$Outbound, z.ZodTypeDef, AccountingAccountResultType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResultType$ {
    /** @deprecated use `AccountingAccountResultType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResultType, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResultType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResultType$Outbound, z.ZodTypeDef, AccountingAccountResultType>;
    /** @deprecated use `AccountingAccountResultType$Outbound` instead. */
    type Outbound = AccountingAccountResultType$Outbound;
}
export declare function accountingAccountResultTypeToJSON(accountingAccountResultType: AccountingAccountResultType): string;
export declare function accountingAccountResultTypeFromJSON(jsonString: string): SafeParseResult<AccountingAccountResultType, SDKValidationError>;
/** @internal */
export declare const Data$inboundSchema: z.ZodType<Data, z.ZodTypeDef, unknown>;
/** @internal */
export type Data$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?: AccountingAccountResultType$Outbound | null | undefined;
};
/** @internal */
export declare const Data$outboundSchema: z.ZodType<Data$Outbound, z.ZodTypeDef, Data>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Data$ {
    /** @deprecated use `Data$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Data, z.ZodTypeDef, unknown>;
    /** @deprecated use `Data$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Data$Outbound, z.ZodTypeDef, Data>;
    /** @deprecated use `Data$Outbound` instead. */
    type Outbound = Data$Outbound;
}
export declare function dataToJSON(data: Data): string;
export declare function dataFromJSON(jsonString: string): SafeParseResult<Data, SDKValidationError>;
/** @internal */
export declare const AccountingAccountResult$inboundSchema: z.ZodType<AccountingAccountResult, z.ZodTypeDef, unknown>;
/** @internal */
export type AccountingAccountResult$Outbound = {
    data?: Data$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const AccountingAccountResult$outboundSchema: z.ZodType<AccountingAccountResult$Outbound, z.ZodTypeDef, AccountingAccountResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccountingAccountResult$ {
    /** @deprecated use `AccountingAccountResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccountingAccountResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccountingAccountResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccountingAccountResult$Outbound, z.ZodTypeDef, AccountingAccountResult>;
    /** @deprecated use `AccountingAccountResult$Outbound` instead. */
    type Outbound = AccountingAccountResult$Outbound;
}
export declare function accountingAccountResultToJSON(accountingAccountResult: AccountingAccountResult): string;
export declare function accountingAccountResultFromJSON(jsonString: string): SafeParseResult<AccountingAccountResult, SDKValidationError>;
//# sourceMappingURL=accountingaccountresult.d.ts.map