/**
 * Result type for functional error handling
 */
export type Result<T, E> = {
    readonly ok: true;
    readonly value: T;
} | {
    readonly ok: false;
    readonly error: E;
};
export declare const ok: <T, E>(value: T) => Result<T, E>;
export declare const error: <T, E>(error: E) => Result<T, E>;
export declare const map: <T, U, E>(result: Result<T, E>, fn: (value: T) => U) => Result<U, E>;
export declare const flatMap: <T, U, E>(result: Result<T, E>, fn: (value: T) => Result<U, E>) => Result<U, E>;
export declare const mapError: <T, E, F>(result: Result<T, E>, fn: (error: E) => F) => Result<T, F>;
export declare const unwrapOr: <T, E>(result: Result<T, E>, defaultValue: T) => T;
export declare const unwrapOrElse: <T, E>(result: Result<T, E>, fn: (error: E) => T) => T;
export declare const isOk: <T, E>(result: Result<T, E>) => result is {
    readonly ok: true;
    readonly value: T;
};
export declare const isError: <T, E>(result: Result<T, E>) => result is {
    readonly ok: false;
    readonly error: E;
};
//# sourceMappingURL=result.d.ts.map