import { WritableSignal } from '@angular/core';
import { IShareButton, ShareParams, SharerMethod } from './share.models';
import * as i0 from "@angular/core";
interface WindowOptions {
    windowObj?: Window;
    openFunc?: string;
    width?: number;
    height?: number;
}
interface CreateShareButtonOptions {
    name: string;
    params: ShareParams;
    props?: IShareButton;
    method?: SharerMethod;
    target?: string;
    windowOptions?: WindowOptions;
    uiState?: WritableSignal<any>;
    debug?: boolean;
}
interface ShareOptions {
    params: ShareParams;
    props?: IShareButton;
    method?: SharerMethod;
    target?: string;
    windowOptions?: WindowOptions;
    uiState?: WritableSignal<any>;
    debug?: boolean;
}
export declare class ShareService {
    private readonly document;
    private readonly icons;
    private readonly meta;
    private readonly platform;
    private readonly clipboard;
    /**
     * Get meta tag content
     */
    _getMetaTagContent(key: string): string;
    _getComputedUrl(url: string): string;
    _getComputedParams(params: ShareParams): ShareParams;
    _getComputedUrlParams(shareButton: IShareButton, params: ShareParams): Record<string, string>;
    _getShareButtonInstance(name: string, props: IShareButton): IShareButton;
    private share;
    open(options: CreateShareButtonOptions): void;
    openInstance(options: ShareOptions, button: IShareButton): void;
    private openViaWindow;
    private openViaAnchor;
    static ɵfac: i0.ɵɵFactoryDeclaration<ShareService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ShareService>;
}
export {};
