import { PubSubEngine } from 'type-graphql';
import { AppContext } from '../types.js';
import { ResolverBase } from '../generic/ResolverBase.js';
import { KeyValuePairInput } from '../generic/KeyValuePairInput.js';
export declare class CaptureErrorOutput {
    EntityName: string;
    RecordID: string;
    ErrorMessage: string;
}
export declare class CreateLabelResultOutput {
    Success: boolean;
    LabelID?: string;
    LabelName?: string;
    ItemsCaptured?: number;
    SyntheticSnapshotsCreated?: number;
    Error?: string;
    CaptureErrors?: CaptureErrorOutput[];
}
export declare class CreateVersionLabelInput {
    Name: string;
    Description?: string;
    Scope?: string;
    EntityName?: string;
    RecordKeys?: KeyValuePairInput[];
    ParentID?: string;
    ExternalSystemID?: string;
    IncludeDependencies?: boolean;
    MaxDepth?: number;
    ExcludeEntities?: string[];
}
export declare class VersionHistoryResolver extends ResolverBase {
    CreateVersionLabel(input: CreateVersionLabelInput, sessionId: string, pubSub: PubSubEngine, context: AppContext): Promise<CreateLabelResultOutput>;
    /**
     * Build a progress callback that publishes CreateLabelProgress messages
     * to the PubSub system for real-time client consumption.
     */
    private buildProgressCallback;
}
//# sourceMappingURL=VersionHistoryResolver.d.ts.map