import { DocumentIdentifier } from './IDocumentIdentifier';
import { SharePoint } from './ISharePoint';
import { Enums } from '../extensibility';
export declare module ImageManagement {
    interface IImageRenditionItem {
        id: number;
        name: string;
        width: number;
        height: number;
    }
    interface IImageBrowseButton {
        url: string;
    }
    interface ILibrarySetting {
        libraryUrl: string;
        haveAddListItemsPermission?: boolean;
        haveEditListItemsPermission?: boolean;
        imagePickerSetting?: IImagePickerSetting;
        availableProperties?: Array<IImageProperty>;
    }
    interface IImagePickerSetting {
        propertiesSetting: Array<IPropertySetting>;
        imageRenditionsSetting: Array<IImageRenditionSetting>;
    }
    interface IImageRenditionSetting {
        imageRenditionId?: number;
        isUsed?: boolean;
    }
    interface IPropertySetting {
        internalName?: string;
        filterTypeSetting?: Enums.PropertyFilterTypeEnum;
    }
    interface IImageProperty {
        internalName: string;
        displayName: string;
        typeAsString: string;
        termSetId: string;
        isOpen: boolean;
        displayType?: Enums.PropertyFilterTypeEnum;
        value?: string;
    }
    interface IAvailablePropertySetting {
        imageProperty: IImageProperty;
        propertySetting: IPropertySetting;
    }
    interface IAvailablImageRenditionSetting {
        imageRendition: IImageRenditionItem;
        imageRenditionSetting: IImageRenditionSetting;
    }
    interface ICentralImageLocationSetting {
        centralImageLocations: Array<ICentralImageLocation>;
    }
    interface ICentralImageLocation {
        id?: string;
        webUrl?: string;
        webTitle?: string;
        libraryTitle?: string;
        libraryId?: string;
        libraryUrl?: string;
        libraryAbsoluteUrl?: string;
        title: string;
    }
    interface IPropertyFilterType {
        id: number;
        name: string;
    }
    interface IImagePickerSettingLookupInformation {
        imageLibraries: Array<DocumentIdentifier.IListIdentifier>;
        imageRenditions: Array<IImageRenditionItem>;
    }
    interface ILibraryResolveResult {
        resolved: boolean;
        libraryId: string;
        libraryTitle?: string;
        libraryUrl: string;
        parentWebTitle?: string;
        parentWebUrl: string;
    }
    interface IOrderByField {
        fieldName?: string;
        ascending?: boolean;
        editable?: boolean;
    }
    interface IQueryFilter {
        fieldName?: string;
        filterType?: Enums.QueryFilterType;
        value?: any;
        operator?: Enums.FilterOperator;
        fromDateValue?: string;
        toDateValue?: string;
        typeAsString?: string;
        hiddenFieldName?: string;
        includeChildTerms?: string;
        includeEmpty?: string;
        taxonomyValue?: SharePoint.ITaxonomyFieldValue;
        termSetId?: string;
    }
    interface IQueryImages {
        filters?: Array<IQueryFilter>;
        periodType?: Enums.PeriodType;
        periodField?: string;
        viewFields?: Array<string>;
        itemLimit?: number;
        skipId?: number;
        textSearch?: string;
        isShowMyDraft?: boolean;
        orderByFields?: Array<IOrderByField>;
    }
    interface IImageIdentifier extends DocumentIdentifier.IDocumentIdentifier {
        imageUrl?: string;
        selected?: boolean;
    }
}
