import { EntityInfo } from './entityInfo';
export interface EntityAssignmentConfiguration {
    /**
     * Event name to surface
     */
    event: string;
    /**
     * Name of property being assigned.
     */
    property: string;
    /**
     * Operation to apply to property and value.
     */
    operation: string;
    /**
     * Recognized entity value.
     */
    value: Partial<EntityInfo>;
    /**
     * Alternative assignment.
     */
    alternative: EntityAssignment;
    /**
     * Value indicating whether this entity was in `DialogPath.ExpectedProperties`.
     */
    isExpected: boolean;
    /**
     * The number of times event has been raised.
     */
    raisedCount: number;
    /**
     * The expected properties when assignment was made.
     */
    expectedProperties: string[];
}
/**
 * Static methods for working with `EntityAssignment` objects.
 */
export declare class EntityAssignment implements EntityAssignmentConfiguration {
    /**
     * Event name to surface
     */
    event: string;
    /**
     * Name of property being assigned.
     */
    property: string;
    /**
     * Operation to assign entity to property.
     */
    operation: string;
    /**
     * Recognized entity value.
     */
    value: Partial<EntityInfo>;
    /**
     * Alternative assignment.
     */
    alternative: EntityAssignment;
    /**
     * Value indicating whether this entity was in `DialogPath.ExpectedProperties`.
     */
    isExpected: boolean;
    /**
     * The number of times event has been raised.
     */
    raisedCount: number;
    /**
     * The expected properties when assignment was made.
     */
    expectedProperties: string[];
    /**
     * Initializes a new instance of the [EntityAssignment](xref:botbuilder-dialogs-adaptive.EntityAssignment) class.
     *
     * @param assignment The entity assignment properties to set for this instance.
     */
    constructor(assignment: Partial<EntityAssignmentConfiguration>);
    /**
     * Gets the alternative entity assignments.
     *
     * @returns The alternative entity assigment.
     */
    get alternatives(): EntityAssignment[];
    /**
     * Add alternatives to a single assignment.
     *
     * @param alternatives Alternatives to add.
     */
    addAlternatives(alternatives: EntityAssignment[]): void;
    /**
     * Print an assignment as a string.
     *
     * @returns A string that represents the current object.
     */
    toString(): string;
}
//# sourceMappingURL=entityAssignment.d.ts.map