import { StandardError } from "../../../types";
/**
 * Represents a json path in array format
 * eg: finsemble.appd[my.App].manifest = ["finsemble", "appd", "my.App", "manifest"]
 */
export type PathArray = string[];
export type FieldPathArray = {
    field: PathArray;
};
export type FieldPathArrayAndValue = FieldPathArray & {
    value: any;
};
export type FieldsPathArray = {
    fields: FieldPathArray[];
};
export type FieldsPathArrayAndValues = {
    items: FieldPathArrayAndValue[];
};
export type ListenerFunction<T = any> = (err: StandardError, response: {
    field: string;
    value: T;
}) => void;
export type ListenerParam = {
    field: string;
    listener: ListenerFunction;
};
export type PathArrayListenerParam = {
    field: PathArray;
    listener: ListenerFunction;
};
export type RemoveListenersType = ListenerParam | ListenerParam[] | PathArrayListenerParam | PathArrayListenerParam[];
/**
 * LEGACY Types
 */
export type FieldOnlyParam = {
    field: string;
};
export type FieldAndValueParam = {
    field: string;
    value: any;
};
export type FieldAndValueParams = FieldAndValueParam[] | string[];
//# sourceMappingURL=types.d.ts.map