import { SimpleChanges, ElementRef, OnInit } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import * as i0 from "@angular/core";
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
declare type Margin = {
    top?: Space;
    bottom?: Space;
    left?: Space;
    right?: Space;
};
export declare class DxcSpinnerComponent implements OnInit {
    private utils;
    /**
     * The value of the progress indicator. If it's received the
     * component is determinate, otherwise is indeterminate.
     */
    value: number;
    /**
     * Text to be placed inside the spinner.
     */
    label: string;
    /**
     * Available modes of the spinner ('large' | 'small' | 'overlay').
     */
    mode: "large" | "small" | "overlay";
    /**
     * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
     */
    margin: Space | Margin;
    /**
     * If true, the value is displayed inside the spinner..
     */
    get showValue(): boolean;
    set showValue(value: boolean);
    private _showValue;
    className: string;
    isOverlayed: boolean;
    isSmall: boolean;
    isLarge: boolean;
    svgBackgroundLarge: ElementRef;
    svgBackgroundSmall: ElementRef;
    svgLarge: ElementRef;
    svgSmall: ElementRef;
    circleBackgroundLarge: ElementRef;
    circleBackgroundSmall: ElementRef;
    circleLarge: ElementRef;
    circleSmall: ElementRef;
    isIndeterminate: boolean;
    largeSize: number;
    smallSize: number;
    radioLargeSize: number;
    radioSmallSize: number;
    defaultInputs: BehaviorSubject<any>;
    constructor(utils: CssUtils);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    calculateValue(strokeDashArray: any): number;
    getSpinnerStyle(): string;
    getIndeterminateStyle(inputs: any, size: any, strokeWidth: any, strokeDashArray: any): string;
    getDeterminateStyle(inputs: any, size: any, strokeWidth: any, strokeDashArray: any): string;
    getBackgroundCircleStyle(size: any, strokeWidth: any, strokeDashArray: any): string;
    getDynamicStyle(inputs: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcSpinnerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcSpinnerComponent, "dxc-spinner", never, { "value": "value"; "label": "label"; "mode": "mode"; "margin": "margin"; "showValue": "showValue"; }, {}, never, never>;
}
export {};
//# sourceMappingURL=dxc-spinner.component.d.ts.map