import { PackageType } from '@c8y/ngx-components';
import { Observable, UnaryFunction } from 'rxjs';
import { IApplication } from '@c8y/client';
import { APP_STATE, ApplicationState } from '../ecosystem.constants';
export type FilterPipe = UnaryFunction<Observable<IApplication[]>, Observable<IApplication[]>>;
export type PackageFilters = {
    type: {
        [PackageType.OFFICIAL]?: boolean;
        [PackageType.COMMUNITY]?: boolean;
    };
    availability: {
        [APP_STATE.SUBSCRIBED.label]?: boolean;
        [APP_STATE.UNPACKED.label]?: boolean;
        [APP_STATE.EXTERNAL.label]?: boolean;
        [APP_STATE.CUSTOM.label]?: boolean;
    };
    content: {
        [APP_STATE.PACKAGE_BLUEPRINT.label]?: boolean;
        [APP_STATE.PACKAGE_PLUGIN.label]?: boolean;
    };
};
export type AppFilterProps = {
    type: PackageType;
    availability: ApplicationState['label'];
    content: ApplicationState['label'];
};
export declare const defaultPackageTypes: (keyof PackageFilters['type'])[];
export declare const defaultPackageAvailabilities: (keyof PackageFilters['availability'])[];
export declare const defaultPackageContents: (keyof PackageFilters['content'])[];
//# sourceMappingURL=list-filters.model.d.ts.map