import { NehanElement, ComputedRegion, Display } from './public-api';
export interface IRegionResolver {
    resolve: (element: NehanElement, computedResion: ComputedRegion, display: Display) => void;
}
export declare class UsedRegionResolver {
    static select(element: NehanElement): ReFloatBlockRegionResolver | FloatBlockRegionResolver | ReAbsoluteRegionResolver | AbsoluteRegionResolver | ReInlineBlockRegionResolver | InlineBlockRegionResolver | ReInlineRegionResolver | InlineRegionResolver | ReBlockRegionResolver | BlockRegionResolver;
}
declare class BlockRegionResolver implements IRegionResolver {
    static instance: BlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): number | undefined;
}
declare class ReBlockRegionResolver implements IRegionResolver {
    static instance: ReBlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class FloatBlockRegionResolver implements IRegionResolver {
    static instance: FloatBlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class ReFloatBlockRegionResolver implements IRegionResolver {
    static instance: ReFloatBlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class InlineRegionResolver implements IRegionResolver {
    static instance: InlineRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class ReInlineRegionResolver implements IRegionResolver {
    static instance: ReInlineRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class InlineBlockRegionResolver implements IRegionResolver {
    static instance: InlineBlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class ReInlineBlockRegionResolver implements IRegionResolver {
    static instance: ReInlineBlockRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class AbsoluteRegionResolver implements IRegionResolver {
    static instance: AbsoluteRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
declare class ReAbsoluteRegionResolver implements IRegionResolver {
    static instance: ReAbsoluteRegionResolver;
    private constructor();
    resolve(element: NehanElement, region: ComputedRegion, display: Display): void;
}
export {};
