import { type ElementPart } from 'lit/directive.js';
import { DirectiveBase, type DirectiveArgs } from '../Abstracts/DirectiveBase';
import { Spacing } from '../../Types/Spacing';
import { Size } from '../../Types/Size';
/**
 * Represents the `ISpacerDirectiveOptions` interface.
 *
 * @public
 */
export interface ISpacerDirectiveOptions {
    multiplier?: number;
    size?: Size;
    thickness?: Spacing | Array<Spacing> | null;
    invert?: boolean;
    multiplierValidator?: (multiplier: number) => boolean;
}
/**
 * @private
 */
declare class SpacerDirective extends DirectiveBase {
    private _options?;
    /**
     * Constructs a new instance of the `SpacerDirective` class.
     *
     * @public
     */
    constructor(args: DirectiveArgs);
    /**
     * @public
     */
    render(options: ISpacerDirectiveOptions): unknown;
    /**
     * @public
     * @override
     */
    update(part: ElementPart, [options]: [ISpacerDirectiveOptions]): unknown;
}
/**
 * @public
 */
export declare const spacer: (...values: Parameters<SpacerDirective["render"]>) => any;
export {};
//# sourceMappingURL=SpacerDirective.d.ts.map