import { FrameworkConfiguration } from "aurelia-framework";
declare type IconDefinition = import("@fortawesome/fontawesome-svg-core").IconDefinition;
declare type IconPack = import("@fortawesome/fontawesome-svg-core").IconPack;
declare type IconName = import("@fortawesome/fontawesome-svg-core").IconName;
declare type IconPrefix = import("@fortawesome/fontawesome-svg-core").IconPrefix;
declare type Transform = import("@fortawesome/fontawesome-svg-core").Transform;
export declare type FlipOption = "horizontal" | "vertical" | "both";
export declare type PullOption = "right" | "left";
export declare type RotationOption = 0 | 90 | 180 | 270;
export declare type BoundIconArg = IconDefinition | IconName | Array<IconName | IconPrefix>;
export declare type SizeOption = "lg" | "xs" | "sm" | "1x" | "2x" | "3x" | "4x" | "5x" | "6x" | "7x" | "8x" | "9x" | "10x";
export declare type SymbolOption = boolean | string;
export declare type TransformOption = Transform | string;
export declare type StackOption = "1x" | "2x";
export interface FontAwesomePluginOptions {
    iconOptions: Partial<IconOptions>;
    icons: (IconDefinition | IconPack)[];
}
export interface IconOptions {
    border: boolean;
    className: string;
    fixedWidth: boolean;
    flip: FlipOption;
    icon: BoundIconArg;
    inverse: boolean;
    listItem: boolean;
    mask: BoundIconArg;
    prefix: IconPrefix;
    pull: PullOption;
    pulse: boolean;
    rotation: RotationOption;
    size: SizeOption;
    spin: boolean;
    stack?: StackOption;
    style: {
        [key: string]: string;
    };
    symbol: SymbolOption;
    title: string;
    transform: TransformOption;
}
declare type ConfigurationArgs = any | Partial<FontAwesomePluginOptions>;
export declare function configure(aurelia: FrameworkConfiguration, options: ConfigurationArgs): void;
export {};
