import { type DataModelModel } from "./dataModel/types.js"; export declare const dedupePreferLast: (values: Array) => Array; export declare const isInstanceOf: ) => unknown>(v: unknown, constructor: Constructor) => v is InstanceType; export declare function isError(e: unknown): e is Error; export declare function escapeKey(key: string): string; declare const ERROR_CODES: { SEED_ALIAS_MODEL_NAME_CONFLICTS: number; SEED_SELECT_RELATIONSHIP_ERROR: number; SEED_ADAPTER_CANNOT_CONNECT: number; SEED_CONFIG_INVALID: number; SEED_CONFIG_NOT_FOUND: number; SEED_DATA_MODEL_NOT_FOUND: number; SEED_DATA_MODEL_INVALID: number; SNAPLET_FOLDER_NOT_FOUND: number; SNAPLET_PROJECT_CONFIG_NOT_FOUND: number; PACKAGE_NOT_EXISTS: number; }; type CodeType = keyof typeof ERROR_CODES; interface AliasModelNameConflict { aliasName: string; models: Map; } interface SeedSelectRelationshipError { relationName: string; relationToTable: string; } interface Data extends Record { PACKAGE_NOT_EXISTS: { packageName: string; }; SEED_ADAPTER_CANNOT_CONNECT: { error: Error; }; SEED_ALIAS_MODEL_NAME_CONFLICTS: { conflicts: Array; }; SEED_CONFIG_INVALID: { error: Error; path: string; }; SEED_CONFIG_NOT_FOUND: { path: string; }; SEED_DATA_MODEL_INVALID: { error: Error; path: string; }; SEED_DATA_MODEL_NOT_FOUND: { path: string; }; SEED_SELECT_RELATIONSHIP_ERROR: { errors: Array; }; SNAPLET_FOLDER_NOT_FOUND: { path: string; }; SNAPLET_PROJECT_CONFIG_NOT_FOUND: { path: string; }; } interface SnapletErrorBase { readonly _tag: string; code: Code; data: Data[Code]; name: string; } export declare class SnapletError extends Error implements SnapletErrorBase { static Codes: { SEED_ALIAS_MODEL_NAME_CONFLICTS: number; SEED_SELECT_RELATIONSHIP_ERROR: number; SEED_ADAPTER_CANNOT_CONNECT: number; SEED_CONFIG_INVALID: number; SEED_CONFIG_NOT_FOUND: number; SEED_DATA_MODEL_NOT_FOUND: number; SEED_DATA_MODEL_INVALID: number; SNAPLET_FOLDER_NOT_FOUND: number; SNAPLET_PROJECT_CONFIG_NOT_FOUND: number; PACKAGE_NOT_EXISTS: number; }; readonly _tag = "SnapletError"; code: Code; data: Data[Code]; name: string; constructor(code: Code, data: Data[Code]); static instanceof(err: unknown, code?: Code): err is SnapletError; toString(): string; } declare function jsonReplacer(_key: string, value: unknown): unknown; export declare function jsonStringify(value: unknown, replacer?: typeof jsonReplacer, space?: number): string; export {};