import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
import { InternalMatomoConfiguration } from '../tracker/configuration';
import { CssSizeInput } from '../utils/coercion';
import * as i0 from "@angular/core";
/**
 * Basic opt-out form, based on an iframe auto-generated by Matomo.
 *
 * <b>WARNING:</b> By default, this component assumes the tracker url set in MatomoConfiguration is
 * safe to be used as an iframe `src`. You have to make sure that this url is safe before using this
 * component!
 *
 * Note: This component relies on the matomo-generated opt-out form, which is deprecated
 * since Matomo version 4.12.0. It will be marked as deprecated soon.
 *
 * @see https://developer.matomo.org/changelog#new-privacy-opt-out-options
 */
export declare class MatomoOptOutFormComponent implements OnInit, OnChanges {
    private readonly sanitizer;
    private readonly config;
    private _defaultServerUrl?;
    private _defaultServerUrlInitialized;
    private _border;
    private _width;
    private _height;
    private _iframeSrc;
    private _serverUrlOverride?;
    /**
     * Set a custom locale for the opt-out form
     * <br>
     * Default is the current app locale available in LOCALE_ID token
     */
    locale: string;
    /** Font color (note that Matomo currently only supports hexadecimal without leading hash notation) */
    color: string;
    /** Background color (note that Matomo currently only supports hexadecimal without leading hash notation) */
    backgroundColor: string;
    fontSize: string;
    fontFamily: string;
    constructor(sanitizer: DomSanitizer, config: Promise<InternalMatomoConfiguration>, locale?: string);
    get serverUrl(): SafeResourceUrl | undefined;
    /**
     * Set a custom Matomo server url to be used for iframe generation
     * <br>
     * By default, tracker url is retrieved from MatomoConfiguration.
     * <br>
     * <b>WARNING:</b> This component assumes the url you provide is safe to be used as an iframe
     * `src`. You have to make sure that this url is safe before using this component!
     */
    set serverUrl(value: SafeResourceUrl | undefined);
    get iframeSrc(): SafeResourceUrl | undefined;
    get height(): string;
    set height(value: string);
    get width(): string;
    set width(value: string);
    get border(): string;
    set border(value: string);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private updateUrl;
    static ngAcceptInputType_border: CssSizeInput;
    static ngAcceptInputType_width: CssSizeInput;
    static ngAcceptInputType_height: CssSizeInput;
    static ɵfac: i0.ɵɵFactoryDeclaration<MatomoOptOutFormComponent, [null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MatomoOptOutFormComponent, "matomo-opt-out-form", never, { "locale": { "alias": "locale"; "required": false; }; "color": { "alias": "color"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "fontFamily": { "alias": "fontFamily"; "required": false; }; "serverUrl": { "alias": "serverUrl"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "border": { "alias": "border"; "required": false; }; }, {}, never, never, true, never>;
}
