import type { NonEmptyArray } from "@effect-ts/core/Collections/Immutable/NonEmptyArray";
import * as T from "@effect-ts/core/Effect";
import * as L from "@effect-ts/core/Effect/Layer";
import * as S from "@effect-ts/core/Effect/Stream";
import type { Has, Tag } from "@effect-ts/core/Has";
import type { Byte } from "@effect-ts/node/Byte";
import type { FigFont } from "../FigFont/index.js";
import type { FigletException } from "../FigletException/index.js";
export declare const FontFileReaderId: unique symbol;
export declare type FontFileReaderId = typeof FontFileReaderId;
export declare function makeFontFileReader(): {
    readonly read: (path: string, f: (path: string, buffer: S.IO<FigletException, Byte>) => T.IO<NonEmptyArray<FigletException>, FigFont>) => T.IO<NonEmptyArray<FigletException>, FigFont>;
};
export interface FontFileReader extends ReturnType<typeof makeFontFileReader> {
}
export declare type HasFontFileReader = Has<FontFileReader>;
export declare const FontFileReader: Tag<FontFileReader>;
export declare const LiveFontFileReader: L.Layer<unknown, never, HasFontFileReader>;
export declare const read: (path: string, f: (path: string, buffer: S.IO<FigletException, Byte>) => T.IO<NonEmptyArray<FigletException>, FigFont>) => T.Effect<Has<FontFileReader>, NonEmptyArray<FigletException>, FigFont>;
//# sourceMappingURL=index.d.ts.map