import type { Product, Subscription, CloudCustomer, Invoice, Limits } from '@mattermost/types/cloud';
import type { MMReduxAction } from 'mattermost-redux/action_types';
export declare function subscription(state: (Subscription | null) | undefined, action: MMReduxAction): any;
export interface LimitsReducer {
    limits: Limits;
    limitsLoaded: boolean;
}
export declare function limits(state: LimitsReducer | undefined, action: MMReduxAction): {
    limits: any;
    limitsLoaded: boolean;
};
export interface ErrorsReducer {
    subscription?: true;
    products?: true;
    customer?: true;
    invoices?: true;
    limits?: true;
    trueUpReview?: true;
}
export declare function errors(state: ErrorsReducer | undefined, action: MMReduxAction): ErrorsReducer | {
    subscription: boolean;
    products?: true;
    customer?: true;
    invoices?: true;
    limits?: true;
    trueUpReview?: true;
} | {
    products: boolean;
    subscription?: true;
    customer?: true;
    invoices?: true;
    limits?: true;
    trueUpReview?: true;
} | {
    customer: boolean;
    subscription?: true;
    products?: true;
    invoices?: true;
    limits?: true;
    trueUpReview?: true;
} | {
    invoices: boolean;
    subscription?: true;
    products?: true;
    customer?: true;
    limits?: true;
    trueUpReview?: true;
} | {
    limits: boolean;
    subscription?: true;
    products?: true;
    customer?: true;
    invoices?: true;
    trueUpReview?: true;
};
declare const _default: import("redux").Reducer<{
    customer: any;
    subscription: any;
    products: Record<string, Product> | null;
    invoices: Record<string, Invoice> | null;
    limits: {
        limits: any;
        limitsLoaded: boolean;
    };
    errors: ErrorsReducer | {
        subscription: boolean;
        products?: true;
        customer?: true;
        invoices?: true;
        limits?: true;
        trueUpReview?: true;
    } | {
        products: boolean;
        subscription?: true;
        customer?: true;
        invoices?: true;
        limits?: true;
        trueUpReview?: true;
    } | {
        customer: boolean;
        subscription?: true;
        products?: true;
        invoices?: true;
        limits?: true;
        trueUpReview?: true;
    } | {
        invoices: boolean;
        subscription?: true;
        products?: true;
        customer?: true;
        limits?: true;
        trueUpReview?: true;
    } | {
        limits: boolean;
        subscription?: true;
        products?: true;
        customer?: true;
        invoices?: true;
        trueUpReview?: true;
    };
}, import("redux").AnyAction, Partial<{
    customer: CloudCustomer | null | undefined;
    subscription: Subscription | null | undefined;
    products: Record<string, Product> | null | undefined;
    invoices: Record<string, Invoice> | null | undefined;
    limits: LimitsReducer | undefined;
    errors: ErrorsReducer | undefined;
}>>;
export default _default;
