import { EventEmitter, OnInit } from '@angular/core';
import { MJAIPromptCategoryEntity, MJAIPromptTypeEntity } from '@memberjunction/core-entities';
import * as i0 from "@angular/core";
interface PromptFilter {
    searchTerm: string;
    categoryId: string;
    typeId: string;
    status: string;
}
interface PromptWithTemplate {
    prompt: any;
    template: any;
    templateContent: any;
    category: any;
    type: any;
}
export declare class PromptFilterPanelComponent implements OnInit {
    prompts: PromptWithTemplate[];
    filteredPrompts: PromptWithTemplate[];
    categories: MJAIPromptCategoryEntity[];
    types: MJAIPromptTypeEntity[];
    filters: PromptFilter;
    filtersChange: EventEmitter<PromptFilter>;
    filterChange: EventEmitter<void>;
    resetFilters: EventEmitter<void>;
    closePanel: EventEmitter<void>;
    categoryOptions: Array<{
        text: string;
        value: string;
    }>;
    typeOptions: Array<{
        text: string;
        value: string;
    }>;
    statusOptions: {
        text: string;
        value: string;
    }[];
    ngOnInit(): void;
    private buildFilterOptions;
    onFilterChange(): void;
    resetAllFilters(): void;
    toggleFilterPanel(): void;
    updateCategories(categories: MJAIPromptCategoryEntity[]): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PromptFilterPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PromptFilterPanelComponent, "mj-prompt-filter-panel", never, { "prompts": { "alias": "prompts"; "required": false; }; "filteredPrompts": { "alias": "filteredPrompts"; "required": false; }; "categories": { "alias": "categories"; "required": false; }; "types": { "alias": "types"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, { "filtersChange": "filtersChange"; "filterChange": "filterChange"; "resetFilters": "resetFilters"; "closePanel": "closePanel"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=prompt-filter-panel.component.d.ts.map