export type ErrorsAnd = T | string[]; export declare function mapArrayOfErrorsAnd(ts: ErrorsAnd[], fn: (ts: T[]) => T1): ErrorsAnd; export declare function reportErrors(e: string[]): string[]; export declare function hasErrors(t: ErrorsAnd): t is string[]; export declare function errors(t: ErrorsAnd): string[]; export declare function value(t: ErrorsAnd): T | undefined; export declare function mapErrors(t: ErrorsAnd, fn: (t: T) => ErrorsAnd): ErrorsAnd; export declare function mapErrorsK(t: ErrorsAnd, fn: (t: T) => Promise>): Promise>; export declare function flattenErrors(t: ErrorsAnd>): ErrorsAnd; export declare function flatMapErrors(t: ErrorsAnd, fn: (t: T) => ErrorsAnd): ErrorsAnd; export declare function flatMapErrorsK(t: ErrorsAnd, fn: (t: T) => Promise>): Promise>; export declare function foldErrors(ts: T[], zero: Acc, fn: (acc: ErrorsAnd, t: T) => ErrorsAnd): ErrorsAnd; export declare function foldErrorsK(ts: T[], zero: Acc, fn: (acc: ErrorsAnd, t: T) => Promise>): Promise>;