import type { Chunk } from "@effect-ts/core/Collections/Immutable/Chunk";
import type { Equal } from "@effect-ts/core/Equal";
import type { FigHeader } from "../../FigHeader/index.js";
import type { FigletResult } from "../../FigletException/index.js";
import type { VerticalSmushingRule } from "../VerticalSmushingRule/index.js";
export declare type VerticalLayout = FullHeight | VerticalFitting | UniversalSmushing | ControlledSmushing;
export interface FullHeight {
    readonly _tag: "FullHeight";
}
export interface VerticalFitting {
    readonly _tag: "VerticalFitting";
}
export interface UniversalSmushing {
    readonly _tag: "UniversalSmushing";
}
export interface ControlledSmushing {
    readonly _tag: "ControlledSmushing";
    readonly rules: Chunk<VerticalSmushingRule>;
}
export declare const FullHeight: VerticalLayout;
export declare const VerticalFitting: VerticalLayout;
export declare const UniversalSmushing: VerticalLayout;
export declare function ControlledSmushing(rules: Chunk<VerticalSmushingRule>): VerticalLayout;
/**
 * Interprets the header settings and returns the selected `VerticalLayout`.
 *
 * @param header The `FigHeader` where the vertical layout is defined.
 * @returns A `FigletResult` containing the new `VerticalLayout`, or
 * a list of `FigletException`s that occurred during parsing.
 */
export declare function fromHeader(header: FigHeader): FigletResult<VerticalLayout>;
export declare const equalVerticalLayout: Equal<VerticalLayout>;
//# sourceMappingURL=index.d.ts.map