export * from '@agorapulse/ui-symbol/icons';
import * as _angular_core from '@angular/core';
import { PipeTransform, InjectionToken, EnvironmentProviders } from '@angular/core';

declare const symbols: string[];
type agorapulseSymbol = (typeof symbols)[number];
declare function isAgorapulseSymbol(str: string): str is agorapulseSymbol;
declare const embeddedSymbols: {
    'instagram-official': string;
    'instagram-story-custom': string;
    'whatsapp-official': string;
    'messenger-official': string;
    'meta-official': string;
    'sparkles-mermaid': string;
};
declare function isEmbeddedSymbol(symbolId?: string | null): symbolId is keyof typeof embeddedSymbols;
interface AgorapulseSymbol {
    name: agorapulseSymbol;
    data: string;
}
interface AgorapulseSymbol {
    name: agorapulseSymbol;
    data: string;
}
declare const networkDescription: {
    bluesky: {
        round: true;
        symbol: {
            name: "bluesky-official";
            data: string;
        };
    };
    facebook: {
        round: true;
        symbol: {
            name: "facebook-official";
            data: string;
        };
    };
    google: {
        round: false;
        symbol: {
            name: "google-my-business-official";
            data: string;
        };
    };
    instagram: {
        round: false;
        symbol: string;
    };
    linkedin: {
        round: false;
        symbol: {
            name: "linkedin-official";
            data: string;
        };
    };
    meta: {
        round: false;
        symbol: string;
    };
    pinterest: {
        round: true;
        symbol: {
            name: "pinterest-official";
            data: string;
        };
    };
    threads: {
        round: true;
        symbol: {
            name: "ns-threads-logo";
            data: string;
        };
    };
    tiktok: {
        round: true;
        symbol: {
            name: "tiktok-official";
            data: string;
        };
    };
    twitter: {
        round: true;
        symbol: {
            name: "x-official";
            data: string;
        };
    };
    webBlog: {
        round: true;
        symbol: {
            name: "web-blogs";
            data: string;
        };
    };
    webNews: {
        round: true;
        symbol: {
            name: "web-news";
            data: string;
        };
    };
    X: {
        round: true;
        symbol: {
            name: "x-official";
            data: string;
        };
    };
    xPlus: {
        round: true;
        symbol: {
            name: "x-plus-official";
            data: string;
        };
    };
    youtube: {
        round: true;
        symbol: {
            name: "youtube-official";
            data: string;
        };
    };
    reddit: {
        round: true;
        symbol: {
            name: "reddit-official";
            data: string;
        };
    };
};
type NetworkName = keyof typeof networkDescription;
declare const SYMBOL_SIZES: readonly ["none", "xxs", "nano", "xs", "sm", "mini-sm", "md", "lg", "xl", "xxl", "large"];
declare const SYMBOL_COLORS: readonly ["black", "white", "azure", "blood-orange", "purple", "grey", "grey-blue", "red", "green", "facebook", "google", "instagram", "linkedin", "twitter", "x", "youtube", "web", "basic-grey"];

declare function toNetworkSymbol(name?: string | null): agorapulseSymbol;
declare class NetworkSymbolPipe implements PipeTransform {
    transform(name?: string | null): agorapulseSymbol;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<NetworkSymbolPipe, never>;
    static ɵpipe: _angular_core.ɵɵPipeDeclaration<NetworkSymbolPipe, "networkSymbol", true>;
}

declare const AGORAPULSE_SYMBOLS: InjectionToken<AgorapulseSymbol[][]>;
declare function provideAgorapulseSymbols(symbols: AgorapulseSymbol[]): EnvironmentProviders;
declare function withSymbols(...symbols: AgorapulseSymbol[]): {
    provide: InjectionToken<AgorapulseSymbol[][]>;
    multi: boolean;
    useValue: AgorapulseSymbol[];
}[];

declare class SymbolRegistry {
    private registry;
    registerSymbols(symbols: AgorapulseSymbol[]): void;
    withSymbols(...symbols: AgorapulseSymbol[]): this;
    getSymbol(name: agorapulseSymbol | string): string | undefined;
    getId(name: string): string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymbolRegistry, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<SymbolRegistry>;
}

type SymbolSize = (typeof SYMBOL_SIZES)[number];
type SymbolColor = (typeof SYMBOL_COLORS)[number];
declare class SymbolComponent {
    readonly symbolId: _angular_core.InputSignal<string | null | undefined>;
    readonly color: _angular_core.InputSignal<string>;
    readonly size: _angular_core.ModelSignal<number | "none" | "xxs" | "nano" | "xs" | "sm" | "mini-sm" | "md" | "lg" | "xl" | "xxl" | "large">;
    protected globalClazz: _angular_core.Signal<string | string[] | Set<string> | {
        [klass: string]: any;
    } | null | undefined>;
    protected globalStyle: _angular_core.Signal<{
        [klass: string]: any;
    } | null | undefined>;
    protected symbolClazz: _angular_core.Signal<string | string[] | Set<string> | {
        [klass: string]: any;
    } | null | undefined>;
    protected symbolStyle: _angular_core.Signal<{
        [klass: string]: any;
    } | null | undefined>;
    protected embeddedSymbolUrl: _angular_core.Signal<string | undefined>;
    protected svgData: _angular_core.Signal<string | undefined>;
    private symbolRegistry;
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymbolComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymbolComponent, "ap-symbol", never, { "symbolId": { "alias": "symbolId"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; }, never, never, true, never>;
}

declare const symbolIds: string[];
declare const networkSpecificSymbolIds: string[];
declare const officialSymbolIds: string[];
declare const customSvgsSymbolIds: string[];
declare const flagSymbolIds: string[];

export { AGORAPULSE_SYMBOLS, NetworkSymbolPipe, SYMBOL_COLORS, SYMBOL_SIZES, SymbolComponent, SymbolRegistry, customSvgsSymbolIds, embeddedSymbols, flagSymbolIds, isAgorapulseSymbol, isEmbeddedSymbol, networkDescription, networkSpecificSymbolIds, officialSymbolIds, provideAgorapulseSymbols, symbolIds, symbols, toNetworkSymbol, withSymbols };
export type { AgorapulseSymbol, NetworkName, SymbolColor, SymbolSize, agorapulseSymbol };
