import { Observable, Subject } from 'rxjs';
import { TccSingleton } from '../../models/tcc-singleton.model';
export interface fillFloatingOption {
    name: string;
    context: string;
    icon?: string;
    svg?: string;
    function: string;
    color?: TccFillFloatingOptionColors;
}
export interface typedOption {
    type: TccFillFloatingOptionType;
    name: string;
    function: string;
    context: string;
}
export declare enum TccFillFloatingOptionType {
    show = 0,
    save = 1,
    delete = 2,
    settings = 3,
    add = 4,
    edit = 5,
    share = 6
}
export declare enum TccFillFloatingOptionColors {
    primary = "clarcPrimary",
    success = "clarcSuccess",
    error = "clarcError",
    grey = "clarcGrey",
    attention = "clarcAttention"
}
export declare class TccFillFloatingOptionsService implements TccSingleton {
    private tempOptions;
    private floatingOptions;
    options: Subject<fillFloatingOption[]>;
    executed: Subject<fillFloatingOption>;
    constructor();
    init(): void;
    reset(): void;
    private findOptionPosByName;
    private updateObservable;
    getExecObserver(context?: string): Observable<fillFloatingOption>;
    newOption(option: fillFloatingOption | typedOption | Array<fillFloatingOption | typedOption>): void;
    addOption(option: fillFloatingOption | typedOption | Array<fillFloatingOption | typedOption>): void;
    private convertTypedOption;
    tempOption(option?: fillFloatingOption | typedOption | Array<fillFloatingOption | typedOption>): void;
    deleteOption(option: fillFloatingOption | Array<fillFloatingOption> | String): void;
    clearOptions(context: string): void;
    clearAll(): void;
}
