import { Chart } from 'cdk8s';
import { Construct } from 'constructs';
import { ApiObject, GroupVersionKind } from 'cdk8s';
import { ICustomResourcePatch } from '../patches';
export declare class ChartRenderError extends Error {
    constructor(kind: string, name: string, message: string);
}
export declare abstract class BaseChart extends Chart {
    data: any;
    refResolver: (claimKind: string, claimName: string) => any;
    constructor(scope: Construct, chartId: string, firestartrId: string | null, claim: any, patches?: ICustomResourcePatch[]);
    filteredPatches(patches?: any): any;
    render(): Promise<this>;
    postRenderer(patches: ICustomResourcePatch[]): Promise<ApiObject>;
    ctx(): ChartContext;
    get(k: string): any;
    set(k: string, v: any): void;
    extraCharts(): {
        claim: {
            kind: string;
            name: string;
        };
        chart: ApiObject;
    }[];
    abstract instanceApiObject(template: ApiObject): ApiObject;
    abstract template(): any;
    abstract gvk(): GroupVersionKind;
}
export declare class ChartContext {
    chart: BaseChart;
    refClaims: any;
    constructor(chart: BaseChart);
    get kind(): string;
    get provider(): any;
    refResolution(claimKind: string, claimName: string): any;
}
