import React from 'react'; type UnknownObject = Record; interface OperationSlotSchema { operation?: unknown; channelName?: string; type?: string; } interface ComponentSlotProps { context: { schema?: unknown; }; onClose?: () => void; } interface AdditionalField { key: string; type: 'string' | 'number' | 'integer' | 'boolean'; label?: string; defaultValue?: unknown; } interface TryItOutPluginOptions { endpointBase?: string; showEndpointInput?: boolean; showPayloadSchema?: boolean; showRealBrokerToggle?: boolean; buttonLabel?: string; additionalFields?: AdditionalField[]; resolveEndpoint?: (ctx: { operationId: string; operationAction: string; channelName: string; type: string; endpointBase: string; }) => string; } type ResolvedTryItOutPluginOptions = Required> & Pick; interface TryItOutProps extends ComponentSlotProps { options: ResolvedTryItOutPluginOptions; } declare function createTryItOutPlugin(options?: TryItOutPluginOptions): any; interface TryItOutState { opened: boolean; mode: 'form' | 'raw'; formData: UnknownObject; arrayData: unknown[]; raw: string; url: string; sendToRealBroker: boolean; loading: boolean; error: string; response: unknown; } declare class TryItOutOperation extends React.Component { constructor(props: TryItOutProps); private getOperationId; private getOperationAction; private getMetadata; private getEndpoint; private getPayloadSchema; private getPayloadProperties; componentDidUpdate(prevProps: TryItOutProps): void; private submit; private onFormFieldChange; private onArrayChange; render(): React.ReactNode; } export { type AdditionalField, type ComponentSlotProps, type OperationSlotSchema, type ResolvedTryItOutPluginOptions, TryItOutOperation, type TryItOutPluginOptions, type TryItOutProps, type UnknownObject, createTryItOutPlugin };