import { OnChanges, SimpleChanges } 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 interface DxcFooterInputs {
    margin: Space | Margin;
    padding: Space | Margin;
}
export declare class DxcFooterComponent implements OnChanges {
    private utils;
    className: any;
    /**
     * An array of objects representing the links that will be rendered as
     * icons at the top-right side of the footer. Each object has the
     * following properties:
     * - href: The path of an icon for the link.
     * - logoSrc: URL of the page the link goes to.
     */
    socialLinks: {
        href?: string;
        logoSrc?: string;
    }[];
    /**
     * An array of objects representing the links that will be rendered at
     * the bottom part of the footer. Each object has the following
     * properties:
     * - text: Text for the link.
     * - href: URL of the page the link goes to.
     */
    bottomLinks: {
        href?: string;
        text?: string;
    }[];
    /**
     * The text that will be displayed as copyright disclaimer.
     */
    copyright: string;
    /**
     * 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;
    /**
     * Size of the padding to be applied to the custom area of 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 padding sizes.
     */
    padding: Space | Margin;
    /**
     * The path of an icon to replace the theme logo.
     */
    logoSrc: string;
    /**
     * Value of the tabindex for all interactuable elements, except those
     * inside the custom area.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    defaultImglogo: string;
    innerWidth: number;
    isResponsive: boolean;
    bottomLinksLength: number;
    currentBackgroundColor: string;
    defaultInputs: BehaviorSubject<DxcFooterInputs>;
    onResize(event: any): void;
    footerContainerStyle: string;
    footerHeaderStyle: string;
    socialIconsStyle: string;
    socialIconStyle: string;
    socialIconImageStyle: string;
    childComponentsStyle: string;
    footerFooterStyle: string;
    socialLinksStyle: string;
    bottomLinkStyle: string;
    constructor(utils: CssUtils);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    getLogoDxc(): string;
    setFooterContainerStyle(input: any, responsive: boolean): string;
    setChildComponentsStyle(inputs: any): string;
    setFooterFooterStyle(responsive: boolean): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcFooterComponent, "dxc-footer", never, { "socialLinks": "socialLinks"; "bottomLinks": "bottomLinks"; "copyright": "copyright"; "margin": "margin"; "padding": "padding"; "logoSrc": "logoSrc"; "tabIndexValue": "tabIndexValue"; }, {}, never, ["*"]>;
}
export {};
//# sourceMappingURL=dxc-footer.component.d.ts.map