import { Color, Comp, KAPLAYCtx, Outline, Rect, TextAlign } from 'kaplay';
/** Drop shadow style for styled text. */
export interface StyledTextShadow {
    color: Color;
    offsetX: number;
    offsetY: number;
    blur: number;
}
/** Gradient style for styled text. */
export interface StyledTextGradient {
    from: Color;
    to: Color;
    direction: 'horizontal' | 'vertical';
}
/** Options for the {@link styledText} component. */
export interface StyledTextCompOpt {
    size?: number;
    font?: string;
    fill?: Color;
    outline?: Outline;
    shadow?: StyledTextShadow;
    gradient?: StyledTextGradient;
    align?: TextAlign;
    width?: number;
    lineSpacing?: number;
}
/** The {@link styledText} component. */
export interface StyledTextComp extends Comp {
    id: 'styledText';
    text: string;
    width: number;
    height: number;
    renderArea(): Rect;
    setStyle(opt: Partial<StyledTextCompOpt>): void;
}
declare module 'kaplay' {
    interface KAPLAYCtx {
        styledText: (txt?: string, opt?: StyledTextCompOpt) => StyledTextComp;
    }
}
/** Styled text plugin for KAPLAY. */
export declare function styledTextPlugin(k: KAPLAYCtx): {
    styledText: (txt?: string, opt?: StyledTextCompOpt) => StyledTextComp;
};
//# sourceMappingURL=plugin.d.ts.map