/**
 * Created by rburson on 12/23/15.
 */
import * as React from 'react';
import { CvState, CvProps, CvEvent, CvResultCallback, CvContext, CvNavigationResult, CvStateChangeResult, CvValueProvider, CvActionHandlerParams } from './catreact-core';
import { FormContext, EntityRec, EntityRecDef, DetailsContext, NavRequest } from 'catavolt-sdk';
export interface CvDetailsPaneState extends CvState {
}
export interface CvDetailsPaneProps extends CvProps {
    formContext?: FormContext;
    paneRef?: number;
    detailsContext?: DetailsContext;
    detailsRenderer?: (cvContext: CvContext, entityRec: EntityRec, callback: CvDetailsPaneCallback) => {};
    navigationListeners?: Array<(event: CvEvent<CvNavigationResult>) => void>;
    stateChangeListeners?: Array<(event: CvEvent<CvStateChangeResult>) => void>;
    actionProvider?: CvValueProvider<CvActionHandlerParams>;
}
export interface CvDetailsPaneCallback {
    openReadMode(resultCallback?: CvResultCallback<EntityRecDef>): void;
    openWriteMode(resultCallback?: CvResultCallback<EntityRecDef>): void;
    saveChanges(resultCallback?: CvResultCallback<NavRequest>, navTarget?: string): void;
    setPropValue(name: string, value: any): void;
    setBinaryPropWithDataUrl(name: string, dataUrl: string): void;
    setBinaryPropWithEncodedData(name: string, encodedData: string): void;
    refresh(): void;
}
/**
 * Render a DetailsContext
 */
export declare var CvDetailsPane: React.ClassicComponentClass<CvDetailsPaneProps>;
